diff --git a/docs/ns3_html_theme/ns3_doxy_footer.html b/docs/ns3_html_theme/ns3_doxy_footer.html
index 80222ad..5b606c6 100644
--- a/docs/ns3_html_theme/ns3_doxy_footer.html
+++ b/docs/ns3_html_theme/ns3_doxy_footer.html
@@ -16,5 +16,19 @@
 </a> $doxygenversion
 </small></address>
 <!--END !GENERATE_TREEVIEW-->
+
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-21372502-8']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga. ↪ js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
 </body>
 </html>
diff --git a/docs/ns3_html_theme/ns3_doxy_header.html b/docs/ns3_html_theme/ns3_doxy_header.html
index 399e7a3..237852a 100644
--- a/docs/ns3_html_theme/ns3_doxy_header.html
+++ b/docs/ns3_html_theme/ns3_doxy_header.html
@@ -33,7 +33,7 @@
   </td>
   <td id="projecttext">
    <div id="projectbrief">NS-3 based Named Data Networking (NDN) simulator</div>
-   <span id="projectnumber">ndnSIM</span>
+   <span id="projectnumber">ndnSIM: NDN, CCN, CCNx, content centric networks</span>
   </td>
   <!--BEGIN DISABLE_INDEX-->
    <!--BEGIN SEARCHENGINE-->
diff --git a/docs/ns3_html_theme/theme.conf b/docs/ns3_html_theme/theme.conf
index ef74333..ecba9e9 100644
--- a/docs/ns3_html_theme/theme.conf
+++ b/docs/ns3_html_theme/theme.conf
@@ -13,8 +13,7 @@
 # logo = ns-3-inverted-notext-small.png
 logoalt = ns-3 Logo
 projectbrief = NS-3 based Named Data Networking (NDN) simulator
-projectnumber = ndnSIM
-
+projectnumber = ndnSIM: NDN, CCN, CCNx, content centric networks
 
 favicon = favicon.ico
 docstitle = Documentation
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 4bbbd3f..57ca4d0 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -50,7 +50,7 @@
 # The short X.Y version.
 version = '0.1'
 # The full version, including alpha/beta/rc tags.
-release = '0.1'
+release = 'Overall ndnSIM'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/source/helpers.rst b/docs/source/helpers.rst
index 51a3b16..629832f 100644
--- a/docs/source/helpers.rst
+++ b/docs/source/helpers.rst
@@ -23,20 +23,20 @@
 
   Currently, there are 2 implemented forwarding strategies that can be used in simulations:
 
-  - :ndnsim:`CcnxFloodingStrategy` (default)
+  - :ndnsim:`Flooding` (default)
 
       Interests will be forwarded to all available faces available for a route (FIB entry).
       If there are no available GREEN or YELLOW faces, interests is dropped.
 
       .. code-block:: c++
 
-         ccnxHelper.SetForwardingStrategy ("ns3::CcnxFloodingStrategy");
+         ccnxHelper.SetForwardingStrategy ("ns3::ndnSIM::Flooding");
 	 ...
 	 ccnxHelper.Install (nodes);
 	 
       
 
-  - :ndnsim:`CcnxFloodingStrategy` with smart forwarding
+  - :ndnsim:`SmartFlooding`
 
       If GREEN face is available, Interest will be sent to the highest-ranked GREEN face. 
       If not, Interest will be forwarded to all available faces available for a route (FIB entry)/
@@ -44,12 +44,11 @@
 
       .. code-block:: c++
 
-         Config::SetDefault ("ns3::CcnxFloodingStrategy::SmartFlooding", BooleanValue (true));
-         ccnxHelper.SetForwardingStrategy ("ns3::CcnxFloodingStrategy");
+         ccnxHelper.SetForwardingStrategy ("ns3::ndnSIM::SmartFlooding");
 	 ...
 	 ccnxHelper.Install (nodes);
 
-  - :ndnsim:`CcnxBestRouteStrategy`
+  - :ndnsim:`BestRoute`
 
       If GREEN face is available, Interest will be sent to the highest-ranked GREEN face.
       If not, Interest will be forwarded to the highest-ranked YELLOW face.
@@ -57,7 +56,7 @@
 
       .. code-block:: c++
 
-         ccnxHelper.SetForwardingStrategy ("ns3::CcnxBestRouteStrategy");
+         ccnxHelper.SetForwardingStrategy ("ns3::ndnSIM::BestRoute");
 	 ...
 	 ccnxHelper.Install (nodes);
 
