diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md
index 66c66748e8093d6becb5f8e97a9b93251bbf39dc..0138a3ffacc0cdcc6fcd4fad8af52c14f2bb74dd 100644
--- a/GETTING_STARTED.md
+++ b/GETTING_STARTED.md
@@ -1,6 +1,6 @@
 # Getting Started
 
-This page provides basic tutorials about the usage of mmdetection.
+This page provides basic tutorials about the usage of MMDetection.
 For installation instructions, please see [INSTALL.md](INSTALL.md).
 
 ## Inference with pretrained models
@@ -27,7 +27,7 @@ python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [-
 Optional arguments:
 - `RESULT_FILE`: Filename of the output results in pickle format. If not specified, the results will not be saved to a file.
 - `EVAL_METRICS`: Items to be evaluated on the results. Allowed values are: `proposal_fast`, `proposal`, `bbox`, `segm`, `keypoints`.
-- `--show`: If specified, detection results will be ploted on the images and shown in a new window. (Only applicable for single GPU testing.)
+- `--show`: If specified, detection results will be ploted on the images and shown in a new window. It is only applicable to single GPU testing. Please make sure that GUI is available in your environment, otherwise you may encounter the error like `cannot connect to X server`.
 
 Examples:
 
@@ -62,7 +62,7 @@ python tools/test.py configs/mask_rcnn_r50_fpn_1x.py \
 We provide a webcam demo to illustrate the results.
 
 ```shell
-python demo/webcam_demo.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--device ${GPU_ID}] [--camera-id ${CAMERA-ID}] [--score-thr ${CAMERA-ID}]
+python demo/webcam_demo.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--device ${GPU_ID}] [--camera-id ${CAMERA-ID}] [--score-thr ${SCORE_THR}]
 ```
 
 Examples:
@@ -108,7 +108,7 @@ A notebook demo can be found in [demo/inference_demo.ipynb](demo/inference_demo.
 
 ## Train a model
 
-mmdetection implements distributed training and non-distributed training,
+MMDetection implements distributed training and non-distributed training,
 which uses `MMDistributedDataParallel` and `MMDataParallel` respectively.
 
 All outputs (log files and checkpoints) will be saved to the working directory,
@@ -143,7 +143,7 @@ Difference between `resume_from` and `load_from`:
 
 ### Train with multiple machines
 
-If you run mmdetection on a cluster managed with [slurm](https://slurm.schedmd.com/), you can just use the script `slurm_train.sh`.
+If you run MMDetection on a cluster managed with [slurm](https://slurm.schedmd.com/), you can use the script `slurm_train.sh`.
 
 ```shell
 ./tools/slurm_train.sh ${PARTITION} ${JOB_NAME} ${CONFIG_FILE} ${WORK_DIR} [${GPUS}]
diff --git a/INSTALL.md b/INSTALL.md
index cc390d2b9a715770c5b850b6845ccecf14af33bf..13141ce003adc0262574f9a26737dd6aaf7438ae 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -2,12 +2,12 @@
 
 ### Requirements
 
-- Linux
-- Python 3.5+ ([Say goodbye to Python2](https://python3statement.org/))
-- PyTorch 1.0+ or PyTorch-nightly
-- CUDA 9.0+
-- NCCL 2+
-- GCC 4.9+
+- Linux (Windows is not officially supported)
+- Python 3.5+ (Python 2 is not supported)
+- PyTorch 1.1 or higher
+- CUDA 9.0 or higher
+- NCCL 2
+- GCC 4.9 or higher
 - [mmcv](https://github.com/open-mmlab/mmcv)
 
 We have tested the following versions of OS and softwares:
@@ -19,16 +19,18 @@ We have tested the following versions of OS and softwares:
 
 ### Install mmdetection
 
-a. Create a conda virtual environment and activate it. Then install Cython.
+a. Create a conda virtual environment and activate it.
 
 ```shell
 conda create -n open-mmlab python=3.7 -y
 conda activate open-mmlab
-
-conda install cython
 ```
 
-b. Install PyTorch stable or nightly and torchvision following the [official instructions](https://pytorch.org/).
+b. Install PyTorch stable or nightly and torchvision following the [official instructions](https://pytorch.org/), e.g.,
+
+```shell
+conda install pytorch torchvision -c pytorch
+```
 
 c. Clone the mmdetection repository.
 
@@ -46,14 +48,15 @@ python setup.py develop
 
 Note:
 
-1. It is recommended that you run the step e each time you pull some updates from github. If there are some updates of the C/CUDA codes, you also need to run step d.
-The git commit id will be written to the version number with step e, e.g. 0.6.0+2e7045c. The version will also be saved in trained models.
+1. The git commit id will be written to the version number with step d, e.g. 0.6.0+2e7045c. The version will also be saved in trained models.
+It is recommended that you run step d each time you pull some updates from github. If C/CUDA codes are modified, then this step is compulsory.
 
-2. Following the above instructions, mmdetection is installed on `dev` mode, any modifications to the code will take effect without installing it again.
+2. Following the above instructions, mmdetection is installed on `dev` mode, any local modifications made to the code will take effect without the need to reinstall it (unless you submit some commits and want to update the version number).
 
-### Prepare COCO dataset.
+### Prepare COCO dataset
 
 It is recommended to symlink the dataset root to `$MMDETECTION/data`.
+If your folder structure is different, you may need to change the corresponding paths in config files.
 
 ```
 mmdetection
@@ -84,14 +87,15 @@ mv train/*/* train/
 ```
 
 ### Scripts
+
 [Here](https://gist.github.com/hellock/bf23cd7348c727d69d48682cb6909047) is
 a script for setting up mmdetection with conda.
 
-### Notice
-You can run `python(3) setup.py develop` or `pip install -v -e .` to install mmdetection if you want to make modifications to it frequently.
+### Multiple versions
+
+If there are more than one mmdetection on your machine, and you want to use them alternatively, the recommended way is to create multiple conda environments and use different environments for different versions.
 
-If there are more than one mmdetection on your machine, and you want to use them alternatively.
-Please insert the following code to the main file
+Another way is to insert the following code to the main scripts (`train.py`, `test.py` or any other scripts you run)
 ```python
 import os.path as osp
 import sys
diff --git a/setup.py b/setup.py
index b94a430c36286180452728706d6436237dc49574..cf3a6e1d7c6d25509e6c54abe124a6a4a06865f2 100644
--- a/setup.py
+++ b/setup.py
@@ -2,12 +2,14 @@ import os
 import platform
 import subprocess
 import time
-from setuptools import Extension, find_packages, setup
+from setuptools import Extension, dist, find_packages, setup
 
-import numpy as np
-from Cython.Build import cythonize
 from torch.utils.cpp_extension import BuildExtension, CUDAExtension
 
+dist.Distribution().fetch_build_eggs(['Cython', 'numpy>=1.11.1'])
+import numpy as np  # noqa: E402
+from Cython.Build import cythonize  # noqa: E402
+
 
 def readme():
     with open('README.md', encoding='utf-8') as f: