diff --git a/docs/source/conf.py b/docs/source/conf.py
index 8291489..4bbbd3f 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -40,7 +40,7 @@
 master_doc = 'index'
 
 # General information about the project.
-project = u'ndnSIM: NS-3 based NDN simulator'
+project = u''
 copyright = u'2012, Alexander Afanasyev, Ilya Moiseenko, and Lixia Zhang'
 
 # The version info for the project you're documenting, acts as replacement for
@@ -50,7 +50,7 @@
 # The short X.Y version.
 version = '0.1'
 # The full version, including alpha/beta/rc tags.
-release = '0.1a1'
+release = '0.1'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
@@ -91,7 +91,7 @@
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-html_theme = 'default'
+html_theme = 'ns3_html_theme'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -99,7 +99,7 @@
 #html_theme_options = {}
 
 # Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
+html_theme_path = ["../"]
 
 # The name for this set of Sphinx documents.  If None, it defaults to
 # "<project> v<release> documentation".
@@ -183,7 +183,7 @@
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, documentclass [howto/manual]).
 latex_documents = [
-  ('index', 'ndnSIMNS-3basedNDNsimulator.tex', u'ndnSIM: NS-3 based NDN simulator Documentation',
+  ('index', 'ndnSIMNS-3basedNDNsimulator.tex', u'ndnSIM: NS-3 based Named Data Networking (NDN) simulator documentation',
    u'Alexander Afanasyev, Ilya Moiseenko, and Lixia Zhang', 'manual'),
 ]
 
@@ -213,7 +213,7 @@
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('index', 'ndnsimns-3basedndnsimulator', u'ndnSIM: NS-3 based NDN simulator Documentation',
+    ('index', 'ndnsimns-3basedndnsimulator', u'ndnSIM: NS-3 based Named Data Networking (NDN) simulator documentation',
      [u'Alexander Afanasyev, Ilya Moiseenko, and Lixia Zhang'], 1)
 ]
 
@@ -227,7 +227,7 @@
 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-  ('index', 'ndnSIMNS-3basedNDNsimulator', u'ndnSIM: NS-3 based NDN simulator Documentation',
+  ('index', 'ndnSIMNS-3basedNDNsimulator', u'ndnSIM: NS-3 based Named Data Networking (NDN) simulator documentation',
    u'Alexander Afanasyev, Ilya Moiseenko, and Lixia Zhang', 'ndnSIMNS-3basedNDNsimulator', 'One line description of project.',
    'Miscellaneous'),
 ]
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index 6f5ec46..860daf3 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -74,9 +74,9 @@
 Requirements
 -------------
 
-1. ndnSIM requires the latest version of NS-3 simulator (as of May 31st, 2012, development branch of NS-3).
+1. ndnSIM requires the customized version of NS-3 simulator (a number of patches required to make ndnSIM work with the latest development branch of NS-3).
 
-2. ndnSIM requires boost libraries:
+2. Boost libraries should be installed on the system:
 
    * For Ubuntu::
 
@@ -86,7 +86,7 @@
 
        sudo port instal boost
 
-3. Other NS-3 modules have additional dependencies.  For example, in
+3. If you are planning to use other modules, like visualizer, a number of additional dependencies should be installed.  For example, in
 order to run `visualizer`_ module, the following should be installed:
 
    * For Ubuntu::
@@ -97,49 +97,30 @@
 
    * For MacOS (macports)::
 
-       sudo port install  py27-pygraphviz py27-kiwi py27-goocanvas
+       sudo port install  py27-pygraphviz py27-goocanvas
+
+.. py27-kiwi 
 
 .. _visualizer: http://www.nsnam.org/wiki/index.php/PyViz
 
 Downloading ndnSIM source
 -------------------------
 
-(Recommended) Custom/unsupported branch of NS-3
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-Alternatively, it is possible to download a custom (unsupported) branch of NS-3 that contains all necessary patches and more::
+Download a custom branch of NS-3 that contains all necessary patches and more::
 
 	mkdir ndnSIM
 	cd ndnSIM
 	git clone git://github.com/cawka/ns-3-dev-ndnSIM.git ns-3
 	git clone git://github.com/cawka/pybindgen.git pybindgen
+
+The first command is to create a directory, which will contain everything NS-3 related.  The bare minimum is just base NS-3 (the first clone above). The second clone gets a module necessary to build python bindings, which are necessary for the visualizer module.  
+
+Finally, clone actual ndnSIM code and place it in src/ folder::
+
 	git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM
 
-The first command is to create a directory, which will contain everything NS-3 related.  The bare minimum is just base NS-3 (the first clone above). The second clone gets a module necessary to build python bindings, which are necessary for the visualizer module.  The third clone gets actual ndnSIM code and places it in src/ directory.
-
 There are quite a few modification to the base NS-3 code that are necessary to run ndnSIM, and the code is periodically synchronized with the official developer branch.  Eventually, all the changes will be merged to the official branch, but for the time being, it is necessary to use the customized branch.
 
-
-Only ndnSIM
-+++++++++++
-
-Download NS-3 simulator. For example::
-
-	hg clone http://code.nsnam.org/ns-3-allinone/ ns-3-all
-	cd ns-3-all
-	./download.py
-
-ndnSIM source code should be placed in ``src/ndnSIM`` folder under NS-3 simulator source tree.  For example::
-
-	cd ns-3-dev
-	git clone gitolite@git.irl.cs.ucla.edu:ndn/ndnSIM.git ns-3/src/ndnSIM
-
-.. git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM
-
-After cloning, a number of patches need to be applied to the base NS-3 to make sure ndnSIM compiles and works::
-
-	find src/ndnSIM/patches/ -type f -print 0 | xargs -0 patch -p1
-
 Compiling and running ndnSIM
 ----------------------------
 
@@ -160,6 +141,13 @@
 .. note::
    Do not forget to configure and compile NS-3 in optimized mode (``./waf configure -d optimized``) in order to run actual simulations.
 
+Additional compiling options
+++++++++++++++++++++++++++++
+
+ndnSIM contains a number of NS-3 extensions that are not technically part of the ndnSIM.  Right now there are two optional plugins---topology and mobility---which can be enabled using the following configuration option::
+
+	./waf configure --enable-ndn-plugins=topology,mobility
+
 
 Documentation
 =============
@@ -172,6 +160,15 @@
 
 ..     ./waf doxygen
 
+Support
+=======
+
+The code of ndnSIM is in active development.  Bug reports (issues) as well as new feature implementation are always welcome. 
+
+To file a bug report, please use `GitHub Issues <https://github.com/NDN-Routing/ndnSIM/issues>`_.
+
+To create new feature, please fork the code and submit Pull Request on GitHub.
+
 
 A very short guide to the code
 ------------------------------
@@ -199,7 +196,8 @@
 +-----------------+---------------------------------------------------------------------+
 | ``examples/``   | contain :doc:`several example scenarios <examples>`                 |
 +-----------------+---------------------------------------------------------------------+
-| ``utils/``      | helper classes                                                      |
+| ``utils/``      | helper classes, including implementation of generalized data        |
+|                 | structures                                                          |
 +-----------------+---------------------------------------------------------------------+
 | ``plugins/``    | a number of plugins that may be helpful to run simulation scenarios |
 +-----------------+---------------------------------------------------------------------+
