diff --git a/README.md b/README.md
index b4506a7..688ffea 100644
--- a/README.md
+++ b/README.md
@@ -30,26 +30,78 @@
  * Support for fuzzy and spatial queries as well as for more traditional parametric queries
  * Basic transactional (concurrency and recovery) capabilities akin to those of a NoSQL store
 
-Learn more about AsterixDB at [http://asterixdb.ics.uci.edu/] (http://asterixdb.ics.uci.edu/)
+Learn more about AsterixDB at [http://asterixdb.incubator.apache.org] (http://asterixdb.incubator.apache.org)
 
 
 ##Building AsterixDB
 
 To build AsterixDB from source, you should have a platform with the following:
+
 * A Unix-ish environment (Linux, OS X, will all do).
 * git
 * Maven 3.1.1 or newer.
-* Java 7 or newer.
+* Java 8 or newer.
 
 Additionally to run all the integration tests you should be running `sshd` locally, and have passwordless ssh logins enabled for the account which is running the tests.
 
+Instructions for building the master:
+
+* Checkout Hyracks master:
+
+        $git clone https://github.com/apache/incubator-asterixdb-hyracks.git
+
+* Checkout AsterixDB master:
+
+        $git clone https://github.com/apache/incubator-asterixdb.git
+
+* Build and install Hyracks master to maven local repo:
+
+        $cd hyracks
+        $mvn clean install -DskipTests
+
+* Build AsterixDB master:
+
+        $cd ../asterixdb
+        $mvn clean package -DskipTests
+
+
+##Running AsterixDB (on your machine from your build)
+Here are steps to get AsterixDB running on your machine:
+
+* Create a directory as the home for AsterixDB installer program, i.e., managix:
+
+        $mkdir ~/managix
+
+* Copy AsterixDB binary artifact into the installer directory and unzip it:
+
+        $cp asterix-installer/target/asterix-installer-*-binary-assembly.zip ~/managix/
+        $cd ~/managix
+        $unzip asterix-installer-*-binary-assembly.zip
+
+* Configure the installer:
+
+        $bin/managix configure
+
+* Validate if the computer environment is suitable:
+
+        $bin/managix validate
+
+* Create and start your instance:
+
+        $bin/managix create -n test -c clusters/local/local.xml
+
+* Good to go and run queries in your browser at:
+
+        http://localhost:19001
+
+* Read more documentations to learn the data model, query language, and how to create a cluster instance:
+  [https://ci.apache.org/projects/asterixdb/index.html] (https://ci.apache.org/projects/asterixdb/index.html)
 
 ##Documentation
 
-AsterixDB's official documentation resides at [http://asterixdb.ics.uci.edu/documentation/index.html] (http://asterixdb.ics.uci.edu/documentation/index.html). This is built from the maven project under `asterix-doc/` as a maven site. The documentation on the official website refers to the most stable release version, so for pre-release versions one should refer to the compiled documentation.
+AsterixDB's official documentation resides at [https://ci.apache.org/projects/asterixdb/index.html] (https://ci.apache.org/projects/asterixdb/index.html). This is built from the maven project under `asterix-doc/` as a maven site. The documentation on the official website refers to the most stable build version, so for pre-release versions one should refer to the compiled documentation.
 
 ##Support/Contact
 
 If you have any questions, please feel free to ask on our mailing list, [users@asterixdb.incubator.apache.org](mailto:users@asterixdb.incubator.apache.org). Join the list by sending an email to [users-subscribe@asterixdb.incubator.apache.org](mailto:users-subscribe@asterixdb.incubator.apache.org). If you are interested in the internals or developement of AsterixDB, also please feel free to subscribe to our developer mailing list, [dev@asterixdb.incubator.apache.org](mailto:dev@asterixdb.incubator.apache.org), by sending an email to [dev-subscribe@asterixdb.incubator.apache.org](mailto:dev-subscribe@asterixdb.incubator.apache.org).
 
-
