diff --git a/docs/source/conf.py b/docs/source/conf.py
index 8f063e3..8291489 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -25,7 +25,7 @@
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = [ "sphinx.ext.autodoc", "sphinxcontrib.doxylink", "sphinxcontrib.aafig" ]
+extensions = [ "sphinx.ext.autodoc", "sphinxcontrib.doxylink", "sphinxcontrib.aafig", "sphinxcontrib.googleanalytics" ]
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -242,6 +242,10 @@
 #texinfo_show_urls = 'footnote'
 
 doxylink = {
-  'ndnsim' : ('ndnSIM.tag', '../../doxygen/html/'),
+  'ndnsim' : ('ndnSIM.tag', 'doxygen/'),
 }
 
+googleanalytics_id = "UA-21372502-8"
+
+googleanalytics_enabled = True
+
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index 44991a2..91cf9e2 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -7,20 +7,58 @@
 Introduction
 ==============
 
-The ndnSIM is NS-3 module that implements Named Data Networking (NDN) communication model, the clean slate Internet design. ndnSIM is specially optimized for simulation purposes and has a cleaner and more extensible internal structure comparing to the existing NDN implementation (Project CCNx).  
+The ndnSIM is NS-3 module that implements Named Data Networking (NDN) communication model, the clean slate Internet design. ndnSIM is specially optimized for simulation purposes and has a cleaner and more extensible internal structure comparing to the existing NDN implementation (Project CCNx).
 
-Following the NDN architecture, ndnSIM is implemented as a new network-layer protocol model, which can run on top of any available link-layer protocol model (point-to-point, CSMA, wireless, etc.).  
+Following the NDN architecture, ndnSIM is implemented as a new network-layer protocol model, which can run on top of any available link-layer protocol model (point-to-point, CSMA, wireless, etc.).
 
 .. note::
-    It will also be possible to run ndnSIM on top of network-layer (IPv4, IPv6) and transport-layer (TCP, UDP) protocols. 
+    It will also be possible to run ndnSIM on top of network-layer (IPv4, IPv6) and transport-layer (TCP, UDP) protocols.
     However, it is not yet implemented and patches are welcome.
 
 .. This flexibility allows ndnSIM to simulate scenarios of various homogeneous and heterogeneous networks (e.g., NDN-only, NDN-over-IP, etc.).
 
-The simulator is implemented in a modular fashion, using separate C++ classes to model behavior of each network-layer entity in NDN: pending Interest table (PIT), forwarding information base (FIB), content store, network and application interfaces, Interest forwarding strategies, etc.
+The simulator is implemented in a modular fashion, using separate C++ classes to model behavior of each network-layer entity in NDN: :ndnsim:`pending Interest table (PIT) <CcnxPit>`, :ndnsim:`forwarding information base (FIB) <CcnxFib>`, :ndnsim:`content store <CcnxContentStore>`, :ndnsim:`network <CcnxNetDeviceFace>` and :ndnsim:`application <CcnxLocalFace>` interfaces, :ndnsim:`Interest forwarding strategies <CcnxForwardingStrategy>`, etc.
 This modular structure allows any component to be easily modified or replaced with no or minimal impact on other components.
 In addition, the simulator provides an extensive collection of interfaces and helpers to perform detailed tracing behavior of every component, as well as NDN traffic flow.
 
+
+.. aafig::
+    :aspect: 60
+    :scale: 120
+
+             +----------------+			      +-----------+
+             | "Applications" |			      | NetDevice |
+             +----------------+			      +-----------+
+		     ^ 					    ^
+    .................|......................................|......................
+    .		     v			     	            v			  .
+    .		+------------------+	     +----------------------+		  .
+    .           |    "CcnxFace"    |	     |      "CcnxFace"      |		  .
+    .           | "(CcnxLocalFace)"|	     | "(CcnxNetDeviceFace)"|		  .
+    .		+------------------+         +----------------------+		  .
+    .		               ^                   ^				  .
+    .			       |                   |				  .
+    .			       v                   v				  .
+    .			    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX			  .
+    .			    XX                         XX			  .
+    .			    XX    Core NDN protocol    XX  			  .
+    .                       XX    "(CcnxL3Protocol)"   XX
+    .			    XX                         XX			  .
+    .			    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX			  .
+    .			      ^       ^       ^       ^				  .
+    .			      |	      |	      |	      |				  .
+    .     +-------------------+   +---+       +---+   +------------+		  .
+    .	  | 		    	  |		  |    		   |		  .
+    .	  v			  v		  v		   v		  .
+    . +-------------------+      +-------+      +-------+        +-------------+  .
+    . | "CcnxContentStore"|      |  PIT  |      |  FIB  |        | "Pluggable" |  .
+    . +-------------------+      +-------+      +-------+        | "Forwarding"|  .
+    .							         | "Strategy"  |  .
+    .							         +-------------+  .
+    .										  .
+    ...............................................................................
+
+
 The wire format of Interest and Data packets follows the format of the existing `CCNx Project's NDN implementation`_ (CCNx Binary Encoding), allowing reuse of the existing traffic analysis tools, as well as driving simulations using real NDN traffic traces.
 
 .. _CCNx Project's NDN implementation: http://www.ccnx.org/
@@ -31,12 +69,12 @@
 Portability
 ------------
 
-ndnSIM has been successfully compiled and used under Ubuntu Linux 11.04 (stock gcc), Mac OS 10.6/10.7 (gcc-4.2 apple/llvm, macports gcc 4.6), FreeBSD 8.2 (requires gcc from ports - the stock gcc will not work!).  
+ndnSIM has been successfully compiled and used under Ubuntu Linux 11.04 (stock gcc), Mac OS 10.6/10.7 (gcc-4.2 apple/llvm, macports gcc 4.6), FreeBSD 8.2 (requires gcc from ports - the stock gcc will not work!).
 
 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 latest version of NS-3 simulator (as of May 31st, 2012, development branch of NS-3).
 
 2. ndnSIM requires boost libraries:
 
@@ -54,7 +92,7 @@
    * For Ubuntu::
 
        sudo apt-get install python-dev python-pygraphviz python-kiwi
-       sudo apt-get install python-pygoocanvas python-gnome2 
+       sudo apt-get install python-pygoocanvas python-gnome2
        sudo apt-get install python-gnomedesktop python-rsvg ipython
 
    * For MacOS (macports)::
@@ -126,9 +164,11 @@
 
 Overall structure of ndnSIM is described in our technical report.
 
-It is also possible to build doxygen documentation of ndnSIM API (in ``ns-3/doc/html/``), provided that ``doxygen`` and ``graphviz`` modules are installed on system::
+`ndnSIM API documentation <doxygen/index.html>`_
 
-    ./waf doxygen
+.. It is also possible to build doxygen documentation of ndnSIM API (in ``ns-3/doc/html/``), provided that ``doxygen`` and ``graphviz`` modules are installed on system::
+
+..     ./waf doxygen
 
 
 A very short guide to the code
