diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index dd8f49ed4b..a5db9ae27e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,9 +1,34 @@
-Please see [contribution-guide.org](http://www.contribution-guide.org/) for steps we expect from contributors before submitting an issue or bug report. Be as concrete as possible, include relevant logs, package versions etc.
+# How to submit an issue?
-Please check the [Gensim FAQ](https://github.com/RaRe-Technologies/gensim/wiki/Recipes-&-FAQ) page before posting.
+First, please see [contribution-guide.org](http://www.contribution-guide.org/) for the steps we expect from contributors before submitting an issue or bug report. Be as concrete as possible, include relevant logs, package versions etc.
-**The proper place for open-ended questions is the [gensim mailing list](https://groups.google.com/forum/#!forum/gensim).** Github is not the right place for research discussions or feature requests.
+Also, please check the [Gensim FAQ](https://github.com/RaRe-Technologies/gensim/wiki/Recipes-&-FAQ) page before posting.
-For developers: see our [Developer Page](https://github.com/piskvorky/gensim/wiki/Developer-page#code-style) for details on code style, testing and similar.
+**The proper place for open-ended questions is the [Gensim mailing list](https://groups.google.com/forum/#!forum/gensim).** Github is not the right place for research discussions or feature requests.
-Thanks!
+# How to add a new feature or create a pull request?
+
+1. Fork the Gensim repository
+2. Clone your fork: `git clone https://github.com//gensim.git`
+3. Create a new branch based on `develop`: `git checkout -b my-feature develop`
+4. Setup your Python enviroment
+ - Create a new [virtual environment](https://virtualenv.pypa.io/en/stable/): `pip install virtualenv; virtualenv gensim_env; source gensim_env/bin/activate`
+ - Install Gensim and its test dependencies in [editable mode](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs):
+ - For linux: `pip install -e .[test]`
+ - For windows: `pip install -e .[test-win]`
+5. Implement your changes
+6. Check that everything's OK in your branch:
+ - Check it for PEP8: `tox -e flake8`
+ - Build its documentation (works only for MacOS/Linux): `tox -e docs` (documentation stored in `docs/src/_build`)
+ - Run unit tests: `tox -e py{version}-{os}`, for example `tox -e py27-linux` or `tox -e py36-win` where
+ - `{version}` is one of `27`, `35`, `36`
+ - `{os}` is either `win` or `linux`
+7. Add files, commit and push: `git add ... ; git commit -m "my commit message"; git push origin my-feature`
+8. [Create a PR](https://help.github.com/articles/creating-a-pull-request/) on Github. Write a **clear description** for your PR, including all the context and relevant information, such as:
+ - The issue that you fixed, e.g. `Fixes #123`
+ - Motivation: why did you create this PR? What functionality did you set out to improve? What was the problem + an overview of how you fixed it? Whom does it affect and how should people use it?
+ - Any other useful information: links to other related Github or mailing list issues and discussions, benchmark graphs, academic papers…
+
+P.S. for developers: see our [Developer Page](https://github.com/piskvorky/gensim/wiki/Developer-page#code-style) for details on the Gensim code style, CI, testing and similar.
+
+**Thanks and let's improve the open source world together!**