More documentation updates
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