diff --git a/gettingstarted.md b/gettingstarted.md
index 5a02dfb..196e874 100644
--- a/gettingstarted.md
+++ b/gettingstarted.md
@@ -5,28 +5,39 @@
 share: false
 ---
 
-Installation
-------------
+There are multiple ways of installing and running ARIA TOSCA. Specifically, there
+essentially two different branches of installations: user and developer. Both
+are documented below.
 
-ARIA is [available on PyPI](https://pypi.python.org/pypi/apache-ariatosca).
+While the instructions below strive to be complete, we're human and make mistakes from time to time. In situations where something doesn't work as described, do not hesitate to reach out to the community for assistance by sending email to dev@ariatosca.incubator.apache.org
 
-ARIA requires Python 2.6/2.7. Python 3 is currently not supported.
 
-To install ARIA directly from PyPI (using a ``wheel``), use::
+Package-Based PIP Package Installation
+--------------------------------------
+
+ARIA TOSCA is [available on PyPI](https://pypi.python.org/pypi/apache-ariatosca).
+
+ARIA TOSCA requires Python 2.6/2.7. Python 3 is currently not supported.
+
+To install ARIA TOSCA directly from PyPI (using a ``wheel``), use::
 
     pip install --upgrade pip setuptools
     pip install apache-ariatosca
 
-To install ARIA from source, download the source tarball from
+
+Source-based PIP Package Installation
+-------------------------------------
+
+To install ARIA TOSCA from source, download the source tarball from
 [PyPI](https://pypi.python.org/pypi/apache-ariatosca), extract and ``cd`` into the extract dir, and run::
 
     pip install --upgrade pip setuptools
     pip install .
 
-| The source package comes along with relevant examples, documentation, ``requirements.txt`` (for installing specifically the frozen dependencies' versions with which ARIA was tested) and more.
+| The source package comes along with relevant examples, documentation, ``requirements.txt`` (for installing specifically the frozen dependencies' versions with which ARIA TOSCA was tested) and more.
 |
 |
-| ARIA has additional optional dependencies. These are required for running operations over SSH.
+| ARIA TOSCA has additional optional dependencies. These are required for running operations over SSH.
 | Below are instructions on how to install these dependencies, including required system dependencies per OS.
 |
 | Note: These dependencies may have varying licenses which may not be compatible with Apache license 2.0.
@@ -34,12 +45,12 @@
 
 **Ubuntu/Debian** (tested on Ubuntu14.04, Ubuntu16.04)::
 
-    apt-get install -y python-dev gcc libffi-dev libssl-dev
+    apt-get install -y python-dev gcc libffi-dev libssl-dev 
     pip install apache-ariatosca[ssh]
 
 **Centos** (tested on Centos6.6, Centos7)::
 
-    yum install -y python-devel gcc libffi-devel openssl-devel
+    yum install -y python-devel gcc libffi-devel openssl-devel 
     pip install apache-ariatosca[ssh]
 
 **Archlinux**::
@@ -57,24 +68,63 @@
     # TODO
 
 
-
 To install ``pip``, either use your distro's package management system, or run::
 
     wget http://bootstrap.pypa.io/get-pip.py
     python get-pip.py
 
 
+Developer Installation
+----------------------
 
-Getting Started
----------------
+Developers will want to pull their base code from github and then
+build from that locally. Note there are two code repositories for
+ARIA TOSCA: one for the website and one for the main code base. Instructions
+for pulling and running each are detailed below. 
 
 
+**Ubuntu/Debian** (tested on Ubuntu14.04, Ubuntu16.04):
+
+    apt-get install -y python-dev gcc libffi-dev libssl-dev git
+
+    # In addition to the above, install the following for website development
+    sudo apt-get install ruby-dev
+    sudo gem install jekyll bundler
+    # you may have to install jekyll's dependancies 
+    bundle install
+
+**Centos** (tested on Centos6.6, Centos7):
+
+    yum install -y python-devel gcc libffi-devel openssl-devel 
+
+    # In addition to the above, install the following for website development
+    sudo yum install ruby-dev
+    sudo gem install jekyll bundler
+    # you may have to install jekyll's dependancies 
+    bundle install
+
+**Building from your pulled code** :
+
+Instructions are [here](https://cwiki.apache.org/confluence/display/ARIATOSCA/Contributing+Code)
+
+
+Running The Generated Website
+-----------------------------
+
+    The website is created using the Jekyll system. Launch the web server using the following and then browse to the URL indicated by jekyll's output:
+
+    bundle exec jekyll serve
+
+
+"Hello World" Example
+---------------------
+
 This section will describe how to run a simple "Hello World" example.
 
-First, provide ARIA with the ARIA "hello world"(can be downloaded [here](https://github.com/apache/incubator-ariatosca/tree/master/examples/hello-world)) service-template and name it (e.g.
+First, provide ARIA TOSCA with the ARIA TOSCA"hello world" template (can be downloaded [here](https://github.com/apache/incubator-ariatosca/tree/master/examples/hello-world)) service-template and name it (e.g.
 ``my-service-template``):
 
-    aria service-templates store examples/hello-world/helloworld.yaml my-service-template
+    aria service-templates store examples/hello-world/hello-world.yaml my-service-template
 
 Now create a service based on this service-template and name it (e.g. ``my-service``):
 
@@ -97,12 +147,12 @@
 License
 -------
 
-ARIA is licensed under the
+ARIA TOSCA is licensed under the
 [Apache License 2.0](https://github.com/apache/incubator-ariatosca/blob/master/LICENSE).
 
 
-Sample install/command files for different ARIA releases
---------------------------------------------------------
+Sample install/command files for different ARIA TOSCA releases
+--------------------------------------------------------------
 
 0.1.1                                                                                                                                          
 -----                                                                                                                                          
