diff --git a/README.md b/README.md
index 678ca2646a6c68913a005b840e6ff0f3ee3f9409..e03ee60b60394e460e145ce27c5742aac42cccbe 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,9 @@
 # Heterogeneous Parallel Virtual Machine
 
-This repository contains miscellaneous supporting materals for HPVM.
+This repository contains the source code and documentation for the HPVM Compiler Infrastructure.
+
+The README briefly describes how to get started with building and installing HPVM. It also provides a
+benchmark suite to test the HPVM infrastructure.
 
 ## Paper
 
@@ -12,8 +15,12 @@ This repository contains miscellaneous supporting materals for HPVM.
 [HPVM-C Language Specification](/hpvm/docs/hpvm-c.md)
 
 ## Dependencies
-You would need to download and install the following components for using NVIDIA GPUs to speed up your programs
+You would need to download and install the following components for to use HPVM.
 
+* GCC (>=5.1.0)
+* CMake (>=3.4.3)
+* Python (>=2.7)
+* GNU Make (>=3.79.1)
 * CUDA 9.1
 
 ## Getting source code and building HPVM
@@ -24,18 +31,37 @@ git clone https://gitlab.engr.illinois.edu/llvm/hpvm.git
 git checkout hpvm-reorg-9 (this step may not be needed once code is mirrored on Github)
 ```
 
-HPVM installer script can be used to dowwnload, configure and build HPMV along with LLVM and other subprojects including Clang. 
+HPVM installer script can be used to download, configure and build HPVM along with LLVM and other subprojects including Clang. 
 ```shell
 bash install.sh
 ```
-Specifically, the HPVM installer downloads the LLVM, Clang, compiler-rt, libcxxabi and lld, copies HPVM source into 
-llvm/tools and build the entire tree. A modified LLVM C-Backend is also built as a part of HPVM and is currently used to generate OpenCL kernels for GPUs.
+Specifically, the HPVM installer downloads LLVM, Clang, compiler-rt, libcxxabi and lld, copies HPVM source into 
+llvm/tools and builds the entire tree. It also builds a modified LLVM C-Backend as a part of HPVM and is currently used 
+to generate OpenCL kernels for GPUs.
+
+In the beginning of the building process, the installer provides users the choice of automatically or manually building HPVM. 
+If HPVM is selected to be automatically built, the installer allows users to type in the number of threads they want to use. 
+The default number of threads used to build HPVM is 2.
+
+Alternatively, CMake can be run manually.
+```shell
+cd hpvm/build
+cmake ../llvm [options]
+```
+Some common options that can be used with CMake are:
+
+* -DCMAKE_INSTALL_PREFIX=directory --- Specify for directory the full pathname of where you want the HPVM tools and libraries to be installed.
+
+* -DCMAKE_BUILD_TYPE=type --- Valid options for type are Debug, Release, RelWithDebInfo, and MinSizeRel. Default is Debug.
 
+* -DLLVM_ENABLE_ASSERTIONS=On --- Compile with assertion checks enabled (default is Yes for Debug builds, No for all other build types).
 
-To use hpvm to compile benchmarks set environment variable `LLVM_SRC_ROOT` to llvm directory in your local repository
+In order to manually build and install HPVM, GNU Make can be run using the following.
 ```shell
-export LLVM_SRC_ROOT=<full path to hpvm>/llvm
+make -j<Number of threads>
+make installl
 ```
+With all the aforementioned steps, HPVM should be built, installed and ready for use!
 
 ### Benchmarks
 We are providing the following benchamrks with HPVM: