diff --git a/apps/callback-based-app.h b/apps/callback-based-app.h
index 8cec638..1d7e74d 100644
--- a/apps/callback-based-app.h
+++ b/apps/callback-based-app.h
@@ -19,7 +19,7 @@
 namespace ns3 {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * @brief A meta application that can be used to create custom apps within Python bindings 
  */
 class CallbackBasedApp: public Application
diff --git a/apps/ndn-app.h b/apps/ndn-app.h
index fd29ab0..bbe5668 100644
--- a/apps/ndn-app.h
+++ b/apps/ndn-app.h
@@ -38,7 +38,11 @@
 class Face;
 
 /**
- * @ingroup ndn
+ * \ingroup ndn
+ * \defgroup ndn-apps NDN applications
+ */
+/**
+ * @ingroup ndn-apps
  * @brief Base class that all NDN applications should be derived from.
  * 
  * The class implements virtual calls onInterest, onNack, and onContentObject
diff --git a/apps/ndn-consumer-batches.h b/apps/ndn-consumer-batches.h
index 22b9b0c..23a75c9 100644
--- a/apps/ndn-consumer-batches.h
+++ b/apps/ndn-consumer-batches.h
@@ -29,7 +29,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief Ndn application for sending out Interest packets in batches
  */
 class ConsumerBatches: public Consumer
diff --git a/apps/ndn-consumer-cbr.h b/apps/ndn-consumer-cbr.h
index 6143268..7076e7d 100644
--- a/apps/ndn-consumer-cbr.h
+++ b/apps/ndn-consumer-cbr.h
@@ -28,8 +28,8 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
- * \brief Ndn application for sending out Interest packets at a "constant" rate (Poisson process)
+ * @ingroup ndn-apps
+ * @brief Ndn application for sending out Interest packets at a "constant" rate (Poisson process)
  */
 class ConsumerCbr: public Consumer
 {
diff --git a/apps/ndn-consumer-window.h b/apps/ndn-consumer-window.h
index 42ee006..1064f54 100644
--- a/apps/ndn-consumer-window.h
+++ b/apps/ndn-consumer-window.h
@@ -29,7 +29,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief Ndn application for sending out Interest packets (window-based)
  *
  * !!! ATTENTION !!! This is highly experimental and relies on experimental features of the simulator.
diff --git a/apps/ndn-consumer-zipf-mandelbrot.h b/apps/ndn-consumer-zipf-mandelbrot.h
index b9f4d17..d9333b3 100644
--- a/apps/ndn-consumer-zipf-mandelbrot.h
+++ b/apps/ndn-consumer-zipf-mandelbrot.h
@@ -38,7 +38,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * @brief NDN app requesting contents following Zipf-Mandelbrot Distbituion
  *
  * The class implements an app which requests contents following Zipf-Mandelbrot Distribution
diff --git a/apps/ndn-consumer.h b/apps/ndn-consumer.h
index bb9e30a..baa6ba3 100644
--- a/apps/ndn-consumer.h
+++ b/apps/ndn-consumer.h
@@ -41,7 +41,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief NDN application for sending out Interest packets
  */
 class Consumer: public App
diff --git a/apps/ndn-producer.h b/apps/ndn-producer.h
index 8349ea2..1cf21fe 100644
--- a/apps/ndn-producer.h
+++ b/apps/ndn-producer.h
@@ -32,6 +32,7 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn-apps
  * @brief A simple Interest-sink applia simple Interest-sink application
  *
  * A simple Interest-sink applia simple Interest-sink application,
diff --git a/docs/Doxyfile b/docs/Doxyfile
index 8ca2128..ebe4bb0 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -570,9 +570,9 @@
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = ../model ../helper ../utils ../apps \
-						 ../plugins/topology ../plugins/mobility \
-						 introspected-doxygen.h doxygen.h
+INPUT                  = ../model ../ndn.cxx ../helper ../utils ../apps \
+                       ../plugins/topology ../plugins/ip-faces \
+                       introspected-doxygen.h doxygen.h
 
 # introspected-doxygen.h should be manually created:
 # For example:
@@ -1259,7 +1259,7 @@
 # contain include files that are not input files but should be processed by
 # the preprocessor.
 
-INCLUDE_PATH           =
+INCLUDE_PATH           = ../../../build
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
 # patterns (like *.h and *.hpp) to filter out the header-files in the
@@ -1278,7 +1278,10 @@
 
 PREDEFINED             = NS3_ASSERT_ENABLE \
                          NS3_LOG_ENABLE \
-                         DOXYGEN
+                         DOXYGEN \
+                         "NDN_NAMESPACE_BEGIN=namespace ns3 { namespace ndn {" \
+                         "NDN_NAMESPACE_END="}}"
+
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.
diff --git a/docs/ns3_html_theme/static/doxygen.css b/docs/ns3_html_theme/static/doxygen.css
index 8e096b1..5cac435 100644
--- a/docs/ns3_html_theme/static/doxygen.css
+++ b/docs/ns3_html_theme/static/doxygen.css
@@ -105,9 +105,9 @@
 	text-decoration: none;
 }
 
-.contents a:visited {
+/*.contents a:visited {
 	color: #686868;
-}
+}*/
 
 a:hover {
 	text-decoration: underline;
diff --git a/docs/ns3_html_theme/static/ns3_stylesheet.css b/docs/ns3_html_theme/static/ns3_stylesheet.css
index c900197..fb55460 100644
--- a/docs/ns3_html_theme/static/ns3_stylesheet.css
+++ b/docs/ns3_html_theme/static/ns3_stylesheet.css
@@ -11,6 +11,11 @@
     font-weight: bold;
 }
 
+a:visited {
+    color: #91A501;
+    font-weight: bold;
+}
+
 /* Sphinx headings */
 div.body h1,
 div.body h2,
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index 1ef79b3..ccd8351 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -32,10 +32,10 @@
 		     ^ 					    ^
     .................|......................................|......................
     .		     v			     	            v			  .
-    .		+------------------+	     +----------------------+		  .
-    .           |      "Face"      |	     |        "Face"        |		  .
-    .           |    "(AppFace)"   |	     |   "(NetDeviceFace)"  |		  .
-    .		+------------------+         +----------------------+		  .
+    .         +----------------------+	     +----------------------+		  .
+    .         |      "Face"          |	     |        "Face"        |		  .
+    .         | "(AppFace, ApiFace)" |       |   "(NetDeviceFace)"  |		  .
+    .         +----------------------+       +----------------------+		  .
     .		               ^                   ^				  .
     .			       |                   |				  .
     .			       v                   v				  .
diff --git a/helper/ndn-app-helper.h b/helper/ndn-app-helper.h
index 94d1046..e559260 100644
--- a/helper/ndn-app-helper.h
+++ b/helper/ndn-app-helper.h
@@ -31,6 +31,7 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn-helpers
  * \brief A helper to make it easier to instantiate an ns3::NdnConsumer Application
  * on a set of nodes.
  */
diff --git a/helper/ndn-face-container.h b/helper/ndn-face-container.h
index 692daf6..e1566e6 100644
--- a/helper/ndn-face-container.h
+++ b/helper/ndn-face-container.h
@@ -32,7 +32,7 @@
 namespace ndn {
 
 /**
- * \ingroup ndn-helpers
+ * @ingroup ndn-helpers
  * \brief A pool for Ndn faces
  * 
  * Provides tools to perform basic manipulation on faces, such as
diff --git a/helper/ndn-global-routing-helper.h b/helper/ndn-global-routing-helper.h
index f233e89..53c7b15 100644
--- a/helper/ndn-global-routing-helper.h
+++ b/helper/ndn-global-routing-helper.h
@@ -32,7 +32,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-helpers
  * @brief Helper for GlobalRouter interface
  */
 class GlobalRoutingHelper
diff --git a/helper/ndn-header-helper.h b/helper/ndn-header-helper.h
index 0e39c0c..1e3e086 100644
--- a/helper/ndn-header-helper.h
+++ b/helper/ndn-header-helper.h
@@ -34,7 +34,7 @@
 typedef Name NameComponents;
 
 /**
- * \ingroup ndn-helpers
+ * @ingroup ndn-helpers
  *
  * \brief Class implementing functionality to detect Ndn packet type and
  * create the corresponding object
@@ -94,13 +94,7 @@
 };
 
   /**
-   * \ingroup ndn
-   * \defgroup ndn-exceptions Exceptions
-   */
-  /**
-   * \ingroup ndn-exceptions
-   * \brief Exception thrown if Ndn stack receives unrecognized
-   * message type
+   * \brief Exception thrown if NDN stack receives unrecognized message type
    */
 class UnknownHeaderException {};
 
diff --git a/helper/ndn-link-control-helper.h b/helper/ndn-link-control-helper.h
index 619fb1c..1fb3251 100644
--- a/helper/ndn-link-control-helper.h
+++ b/helper/ndn-link-control-helper.h
@@ -29,8 +29,8 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn-helpers
  * @brief Helper class to control the up or down statuss of an NDN link connecting two specific nodes
- * @ingroup Ndn
  */
 class LinkControlHelper
 { 
diff --git a/model/cs/content-store-impl.h b/model/cs/content-store-impl.h
index 90d0c95..7058009 100644
--- a/model/cs/content-store-impl.h
+++ b/model/cs/content-store-impl.h
@@ -37,6 +37,10 @@
 namespace ndn {
 namespace cs {
 
+/**
+ * @ingroup ndn-cs
+ * @brief Cache entry implementation with additional references to the base container
+ */
 template<class CS>
 class EntryImpl : public Entry
 {
@@ -65,6 +69,10 @@
 
 
 
+/**
+ * @ingroup ndn-cs
+ * @brief Base implementation of NDN content store
+ */
 template<class Policy>
 class ContentStoreImpl : public ContentStore,
                          protected ndnSIM::trie_with_policy< Name,
@@ -179,7 +187,6 @@
 {
   NS_LOG_FUNCTION (this << interest->GetName ());
 
-  /// @todo Change to search with predicate
   typename super::const_iterator node;
   if (interest->GetExclude () == 0)
     {
diff --git a/model/cs/content-store-nocache.h b/model/cs/content-store-nocache.h
index 79d1284..98c1850 100644
--- a/model/cs/content-store-nocache.h
+++ b/model/cs/content-store-nocache.h
@@ -29,8 +29,8 @@
 namespace cs {
 
 /**
- * \ingroup ndn
- * \brief Implementation of ContentStore that completely disables caching
+ * @ingroup ndn-cs
+ * @brief Implementation of ContentStore that completely disables caching
  */
 class Nocache : public ContentStore
 {
diff --git a/model/cs/content-store-with-freshness.h b/model/cs/content-store-with-freshness.h
index 22242b9..d9fa1ba 100644
--- a/model/cs/content-store-with-freshness.h
+++ b/model/cs/content-store-with-freshness.h
@@ -30,6 +30,10 @@
 namespace ndn {
 namespace cs {
 
+/**
+ * @ingroup ndn-cs
+ * @brief Special content store realization that honors Freshness parameter in Data packets
+ */
 template<class Policy>
 class ContentStoreWithFreshness :
     public ContentStoreImpl< ndnSIM::multi_policy_traits< boost::mpl::vector2< Policy, ndnSIM::freshness_policy_traits > > >
diff --git a/model/cs/content-store-with-stats.h b/model/cs/content-store-with-stats.h
index 3bdb9ec..a3f5fdd 100644
--- a/model/cs/content-store-with-stats.h
+++ b/model/cs/content-store-with-stats.h
@@ -30,6 +30,10 @@
 namespace ndn {
 namespace cs {
 
+/**
+ * @ingroup ndn-cs
+ * @brief Special content store realization that provides ability to track stats of CS operations
+ */
 template<class Policy>
 class ContentStoreWithStats :
     public ContentStoreImpl< ndnSIM::multi_policy_traits< boost::mpl::vector2< Policy, ndnSIM::lifetime_stats_policy_traits > > >
diff --git a/model/cs/ndn-content-store.h b/model/cs/ndn-content-store.h
index 66e7667..10a7bd3 100644
--- a/model/cs/ndn-content-store.h
+++ b/model/cs/ndn-content-store.h
@@ -39,11 +39,20 @@
 class Name;
 class ContentStore;
 
+/**
+ * @ingroup ndn
+ * @defgroup ndn-cs Content Store
+ */
+
+/**
+ * @ingroup ndn-cs
+ * @brief Namespace for ContentStore operations
+ */
 namespace cs {
 
 /**
- * \ingroup ndn
- * \brief NDN content store entry
+ * @ingroup ndn-cs
+ * @brief NDN content store entry
  */
 class Entry : public SimpleRefCount<Entry>
 {
@@ -88,7 +97,7 @@
 
 
 /**
- * \ingroup ndn
+ * @ingroup ndn-cs
  * \brief Base class for NDN content store
  *
  * Particular implementations should implement Lookup, Add, and Print methods
diff --git a/model/fib/ndn-fib-entry.h b/model/fib/ndn-fib-entry.h
index 0b1a6bc..2f42259 100644
--- a/model/fib/ndn-fib-entry.h
+++ b/model/fib/ndn-fib-entry.h
@@ -45,10 +45,14 @@
 
 class Fib;
 
+/**
+ * @ingroup ndn-fib
+ * @brief Namespace for FIB operations
+ */
 namespace fib {
 
 /**
- * \ingroup ndn
+ * @ingroup ndn-fib
  * \brief Structure holding various parameters associated with a (FibEntry, Face) tuple
  */
 class FaceMetric
@@ -191,8 +195,8 @@
 
 
 /**
- * \ingroup ndn
- * \brief Typedef for indexed face container of Entry
+ * @ingroup ndn-fib
+ * @brief Typedef for indexed face container of Entry
  *
  * Currently, there are 2 indexes:
  * - by face (used to find record and update metric)
@@ -232,7 +236,7 @@
 };
 
 /**
- * \ingroup ndn
+ * @ingroup ndn-fib
  * \brief Structure for FIB table entry, holding indexed list of
  *        available faces and their respective metrics
  */
diff --git a/model/fib/ndn-fib-impl.h b/model/fib/ndn-fib-impl.h
index 3054420..b221d48 100644
--- a/model/fib/ndn-fib-impl.h
+++ b/model/fib/ndn-fib-impl.h
@@ -31,6 +31,10 @@
 namespace ndn {
 namespace fib {
 
+/**
+ * @ingroup ndn-fib
+ * @brief FIB entry implementation with with additional references to the base container
+ */
 class EntryImpl : public Entry
 {
 public:
@@ -60,7 +64,7 @@
 };
 
 /**
- * \ingroup ndn
+ * @ingroup ndn-fib
  * \brief Class implementing FIB functionality
  */
 class FibImpl : public Fib,
diff --git a/model/fib/ndn-fib.h b/model/fib/ndn-fib.h
index 490cdfd..b5e8e40 100644
--- a/model/fib/ndn-fib.h
+++ b/model/fib/ndn-fib.h
@@ -33,8 +33,13 @@
 typedef Interest InterestHeader;
 
 /**
- * \ingroup ndn
- * \brief Class implementing FIB functionality
+ * @ingroup ndn
+ * @defgroup ndn-fib FIB
+ */
+
+/**
+ * @ingroup ndn-fib
+ * @brief Class implementing FIB functionality
  */
 class Fib : public Object
 {
diff --git a/model/fw/best-route.h b/model/fw/best-route.h
index 6648acb..1939a84 100644
--- a/model/fw/best-route.h
+++ b/model/fw/best-route.h
@@ -31,8 +31,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Best route strategy
+ * @ingroup ndn-fw
+ * @brief Best route strategy
  */
 class BestRoute :
     public GreenYellowRed
diff --git a/model/fw/flooding.h b/model/fw/flooding.h
index f7ce55a..1aa50b0 100644
--- a/model/fw/flooding.h
+++ b/model/fw/flooding.h
@@ -30,10 +30,18 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Flooding strategy
+ * @ingroup ndn-fw
+ * @brief Simple flooding strategy
  *
- * \todo Describe
+ * 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.
+ *
+ * Usage example:
+ * @code
+ *     ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::Flooding");
+ *     ...
+ *     ndnHelper.Install (nodes);
+ * @endcode
  */
 class Flooding :
     public Nacks
diff --git a/model/fw/green-yellow-red.h b/model/fw/green-yellow-red.h
index 11817bf..57f17dd 100644
--- a/model/fw/green-yellow-red.h
+++ b/model/fw/green-yellow-red.h
@@ -28,7 +28,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
+ * @ingroup ndn-fw
+ * @brief Forwarding strategy extensions to track simple link status based on data plane performance
  */
 class GreenYellowRed :
     public Nacks
diff --git a/model/fw/nacks.h b/model/fw/nacks.h
index 7855e19..f9f8bb1 100644
--- a/model/fw/nacks.h
+++ b/model/fw/nacks.h
@@ -27,8 +27,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Implementation of experimental NACK messages (enables with EnableNACKs option)
+ * @ingroup ndn-fw
+ * @brief Implementation of experimental NACK messages (enables with EnableNACKs option)
  */
 class Nacks :
     public ForwardingStrategy
diff --git a/model/fw/ndn-forwarding-strategy.h b/model/fw/ndn-forwarding-strategy.h
index 49b034b..bfed748 100644
--- a/model/fw/ndn-forwarding-strategy.h
+++ b/model/fw/ndn-forwarding-strategy.h
@@ -29,6 +29,19 @@
 namespace ns3 {
 namespace ndn {
 
+/**
+ * @ingroup ndn
+ * @defgroup ndn-fw NDN forwarding strategies
+ */
+
+
+/**
+ * @ingroup ndn-fw
+ * @brief Namespace for Forwarding Strategy operations
+ */
+namespace fw {
+}
+
 class Face;
 
 class Interest;
@@ -42,8 +55,8 @@
 class ContentStore;
 
 /**
- * \ingroup ndn
- * \brief Abstract base class for Ndn forwarding strategies
+ * @ingroup ndn-fw
+ * @brief Abstract base class for Ndn forwarding strategies
  */
 class ForwardingStrategy :
     public Object
diff --git a/model/fw/ndn-fw-tag.h b/model/fw/ndn-fw-tag.h
index 3407a07..5d02b31 100644
--- a/model/fw/ndn-fw-tag.h
+++ b/model/fw/ndn-fw-tag.h
@@ -27,8 +27,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Abstract class for the forwarding strategy tag, which can be added to PIT entries
+ * @ingroup ndn-fw
+ * @brief Abstract class for the forwarding strategy tag, which can be added to PIT entries
  */
 class Tag
 {
diff --git a/model/fw/per-fib-limits.h b/model/fw/per-fib-limits.h
index 560432a..89ce352 100644
--- a/model/fw/per-fib-limits.h
+++ b/model/fw/per-fib-limits.h
@@ -38,8 +38,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Strategy implementing per-FIB entry limits
+ * @ingroup ndn-fw
+ * @brief Strategy implementing per-FIB entry limits
  */
 template<class Parent>
 class PerFibLimits :
diff --git a/model/fw/per-out-face-limits.h b/model/fw/per-out-face-limits.h
index fcdd43f..2f8f662 100644
--- a/model/fw/per-out-face-limits.h
+++ b/model/fw/per-out-face-limits.h
@@ -38,8 +38,8 @@
 namespace fw {
 
 /**
- * \ingroup ndn
- * \brief Strategy implementing per-outgoing face limits
+ * @ingroup ndn-fw
+ * @brief Strategy implementing per-outgoing face limits
  */
 template<class Parent>
 class PerOutFaceLimits :
diff --git a/model/fw/smart-flooding.h b/model/fw/smart-flooding.h
index 9263172..b764de8 100644
--- a/model/fw/smart-flooding.h
+++ b/model/fw/smart-flooding.h
@@ -29,7 +29,8 @@
 namespace fw {
 
 /**
- * \ingroup ccnx
+ * @ingroup ndn-fw
+ * @brief Smart flooding forwarding strategy
  */
 class SmartFlooding :
     public GreenYellowRed
diff --git a/model/ndn-common.h b/model/ndn-common.h
index de21c29..8bfc4f9 100644
--- a/model/ndn-common.h
+++ b/model/ndn-common.h
@@ -19,6 +19,19 @@
 #define NDN_NAMESPACE_BEGIN  namespace ns3 { namespace ndn {
 #define NDN_NAMESPACE_END    } /*ndn*/ } /*ns3*/ 
 
+/**
+ * @brief NS-3 namespace
+ */
+namespace ns3 {
+
+/**
+ * @brief ndnSIM namespace
+ */
+namespace ndn {
+}
+
+}
+
 NDN_NAMESPACE_BEGIN
 
 typedef Time TimeInterval;
diff --git a/model/ndn-content-object.h b/model/ndn-content-object.h
index 58e88a3..859543b 100644
--- a/model/ndn-content-object.h
+++ b/model/ndn-content-object.h
@@ -33,7 +33,7 @@
 namespace ndn {
 
 /**
- * @ingroup Ndn
+ * @ingroup ndn
  * @brief ContentObject header
  */
 class ContentObject : public SimpleRefCount<ContentObject>
@@ -198,7 +198,6 @@
 }
 
 /**
- * @ingroup ndn-exceptions
  * @brief Class for ContentObject parsing exception
  */
 class ContentObjectException {};
diff --git a/model/ndn-global-router.h b/model/ndn-global-router.h
index 1ef6329..dad2180 100644
--- a/model/ndn-global-router.h
+++ b/model/ndn-global-router.h
@@ -40,6 +40,7 @@
 typedef Name NameComponents;
 
 /**
+ * @ingroup ndn
  * @brief Class representing global router interface for ndnSIM
  */
 class GlobalRouter : public Object
diff --git a/model/ndn-interest.h b/model/ndn-interest.h
index 748e2d9..d7ab5df 100644
--- a/model/ndn-interest.h
+++ b/model/ndn-interest.h
@@ -37,8 +37,8 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn
  * @brief NDN Interest (wire formats are defined in wire)
- *
  **/
 class Interest : public SimpleRefCount<Interest>
 {
@@ -266,7 +266,6 @@
 }
 
 /**
- * @ingroup ndn-exceptions
  * @brief Class for Interest parsing exception 
  */
 class InterestException {};
diff --git a/model/pit/ndn-pit-entry-impl.h b/model/pit/ndn-pit-entry-impl.h
index 751402f..f3e8c62 100644
--- a/model/pit/ndn-pit-entry-impl.h
+++ b/model/pit/ndn-pit-entry-impl.h
@@ -28,6 +28,10 @@
 
 namespace pit {
 
+/**
+ * @ingroup ndn-pit
+ * @brief PIT entry implementation with additional pointers to the underlying container
+ */
 template<class Pit>
 class EntryImpl : public Entry
 {
@@ -89,6 +93,7 @@
   typename Pit::super::iterator item_;
 };
 
+/// @cond include_hidden
 template<class T>
 struct TimestampIndex
 {
@@ -98,6 +103,7 @@
     return a.GetExpireTime () < b.GetExpireTime ();
   }
 };
+/// @endcond
 
 } // namespace pit
 } // namespace ndn
diff --git a/model/pit/ndn-pit-entry-incoming-face.h b/model/pit/ndn-pit-entry-incoming-face.h
index fb3987e..4597f58 100644
--- a/model/pit/ndn-pit-entry-incoming-face.h
+++ b/model/pit/ndn-pit-entry-incoming-face.h
@@ -31,8 +31,8 @@
 namespace pit {
 
 /**
- * \ingroup ndn
- * \brief PIT state component for each incoming interest (not including duplicates)
+ * @ingroup ndn-pit
+ * @brief PIT state component for each incoming interest (not including duplicates)
  */
 struct IncomingFace
 {
diff --git a/model/pit/ndn-pit-entry-outgoing-face.h b/model/pit/ndn-pit-entry-outgoing-face.h
index 20dfdaf..6b498a8 100644
--- a/model/pit/ndn-pit-entry-outgoing-face.h
+++ b/model/pit/ndn-pit-entry-outgoing-face.h
@@ -31,8 +31,8 @@
 namespace pit {
 
 /**
- * \ingroup ndn
- * \brief PIT state component for each outgoing interest
+ * @ingroup ndn-pit
+ * @brief PIT state component for each outgoing interest
  */
 struct OutgoingFace
 {
diff --git a/model/pit/ndn-pit-entry.h b/model/pit/ndn-pit-entry.h
index 3cb5371..dd90b9f 100644
--- a/model/pit/ndn-pit-entry.h
+++ b/model/pit/ndn-pit-entry.h
@@ -48,43 +48,9 @@
 
 namespace pit {
 
-/// @cond include_hidden
-class i_face {};
-class i_retx {};
-/// @endcond
-
 /**
- * \ingroup ndn
- * \brief Typedef for indexed face container of PitEntryOutgoingFace
- *
- * Indexes:
- * - by face (may be it will be possible to replace with just the std::map)
- */
-// struct OutgoingFaceContainer
-// {
-//   /// @cond include_hidden
-//   typedef boost::multi_index::multi_index_container<
-//     OutgoingFace,
-//     boost::multi_index::indexed_by<
-//       // For fast access to elements using NdnFace
-//       boost::multi_index::ordered_unique<
-//         boost::multi_index::tag<i_face>,
-//         boost::multi_index::member<OutgoingFace, Ptr<Face>, &OutgoingFace::m_face>
-//       >
-//       // ,
-//       // boost::multi_index::ordered_non_unique<
-//       //   boost::multi_index::tag<i_retx>,
-//       //   boost::multi_index::member<OutgoingFace, uint32_t, &OutgoingFace::m_retxCount>
-//       // >
-//     >
-//    > type;
-//   /// @endcond
-// };
-
-
-/**
- * \ingroup ndn
- * \brief structure for PIT entry
+ * @ingroup ndn-pit
+ * @brief structure for PIT entry
  *
  * All set-methods are virtual, in case index rearrangement is necessary in the derived classes
  */
@@ -315,6 +281,7 @@
   std::list< boost::shared_ptr<fw::Tag> > m_fwTags; ///< @brief Forwarding strategy tags
 };
 
+/// @cond include_hidden
 struct EntryIsNotEmpty
 {
   bool
@@ -323,6 +290,7 @@
     return !entry->GetIncoming ().empty ();
   }
 };
+/// @endcond
 
 std::ostream& operator<< (std::ostream& os, const Entry &entry);
 
diff --git a/model/pit/ndn-pit-impl.h b/model/pit/ndn-pit-impl.h
index 26e3a6b..6a8dfcd 100644
--- a/model/pit/ndn-pit-impl.h
+++ b/model/pit/ndn-pit-impl.h
@@ -43,8 +43,8 @@
 namespace pit {
 
 /**
- * \ingroup ndn
- * \brief Class implementing Pending Interests Table
+ * @ingroup ndn-pit
+ * @brief Class implementing Pending Interests Table
  */
 template<class Policy>
 class PitImpl : public Pit
diff --git a/model/pit/ndn-pit.h b/model/pit/ndn-pit.h
index 4c07fd2..0699479 100644
--- a/model/pit/ndn-pit.h
+++ b/model/pit/ndn-pit.h
@@ -30,6 +30,18 @@
 namespace ns3 {
 namespace ndn {
 
+/**
+ * @ingroup ndn
+ * @defgroup ndn-pit PIT
+ */
+
+/**
+ * @ingroup ndn-pit
+ * @brief Namespace for PIT operations
+ */
+namespace pit {
+}
+
 class L3Protocol;
 class Face;
 class ContentObject;
@@ -42,8 +54,8 @@
 ////////////////////////////////////////////////////////////////////////
 
 /**
- * \ingroup ndn
- * \brief Class implementing Pending Interests Table
+ * @ingroup ndn-pit
+ * @brief Class implementing Pending Interests Table
  */
 class Pit : public Object
 {
diff --git a/model/wire/ccnb.h b/model/wire/ccnb.h
index 893d481..9b920b9 100644
--- a/model/wire/ccnb.h
+++ b/model/wire/ccnb.h
@@ -18,6 +18,10 @@
 NDN_NAMESPACE_BEGIN
 
 namespace wire {
+
+/**
+ * @brief Namespace for CCNb wire format operations
+ */
 namespace ccnb {
 
 /**
diff --git a/model/wire/ccnb/ccnb-parser/common.h b/model/wire/ccnb/ccnb-parser/common.h
index aa3f68a..531cd87 100644
--- a/model/wire/ccnb/ccnb-parser/common.h
+++ b/model/wire/ccnb/ccnb-parser/common.h
@@ -31,14 +31,6 @@
 
 namespace wire {
 
-/**
- * \ingroup ndn
- * \defgroup ndn-ccnb CCNB decoding routines
- */
-/**
- * \ingroup ndn-ccnb
- * \brief Namespace for ccnb parer
- */
 namespace CcnbParser {
 
 // forward declarations
@@ -54,8 +46,6 @@
 
 /**
  * \brief Exception thrown if there is a parsing error
- *
- * \todo inherit this class from some exception class and provide meaningful error messages
  */
 class CcnbDecodingException {};
 
diff --git a/model/wire/ndnsim.h b/model/wire/ndnsim.h
index 186335e..417edba 100644
--- a/model/wire/ndnsim.h
+++ b/model/wire/ndnsim.h
@@ -17,7 +17,14 @@
 
 NDN_NAMESPACE_BEGIN
 
+/**
+ * @brief Namespace encapsulating wire operations
+ */
 namespace wire {
+
+/**
+ * @brief Namespace for ndnSIM wire format operations
+ */
 namespace ndnSIM {
 
 /**
diff --git a/ndn.cxx/blob.h b/ndn.cxx/blob.h
index 4b488b3..1b1aa2d 100644
--- a/ndn.cxx/blob.h
+++ b/ndn.cxx/blob.h
@@ -20,6 +20,7 @@
 NDN_NAMESPACE_BEGIN
 
 /**
+ * @ingroup ndn-cxx
  * @brief Class representing a general-use binary blob
  */
 class Blob
diff --git a/ndn.cxx/detail/error.h b/ndn.cxx/detail/error.h
index a1f1e34..db6b751 100644
--- a/ndn.cxx/detail/error.h
+++ b/ndn.cxx/detail/error.h
@@ -35,6 +35,10 @@
 
 NDN_NAMESPACE_BEGIN
 
+/**
+ * @ingroup ndn-cxx
+ * @brief Namespace holding all errors from NDN.cxx API
+ */
 namespace error
 {
 
diff --git a/ndn.cxx/exclude.h b/ndn.cxx/exclude.h
index 8315f34..fcdcbb3 100644
--- a/ndn.cxx/exclude.h
+++ b/ndn.cxx/exclude.h
@@ -19,6 +19,7 @@
 NDN_NAMESPACE_BEGIN
 
 /**
+ * @ingroup ndn-cxx
  * @brief Class to represent Exclude component in NDN interests
  */
 class Exclude : public SimpleRefCount<Exclude>
diff --git a/ndn.cxx/name-component.h b/ndn.cxx/name-component.h
index 7f523e0..0de0442 100644
--- a/ndn.cxx/name-component.h
+++ b/ndn.cxx/name-component.h
@@ -18,6 +18,7 @@
 namespace name {
 
 /**
+ * @ingroup ndn-cxx
  * @brief Class to representing binary blob of NDN name component
  *
  * This class is based on Blob (std::vector<char>) and just provides several helpers
diff --git a/ndn.cxx/name.h b/ndn.cxx/name.h
index 8731323..731202d 100644
--- a/ndn.cxx/name.h
+++ b/ndn.cxx/name.h
@@ -23,6 +23,7 @@
 NDN_NAMESPACE_BEGIN
 
 /**
+ * @ingroup ndn-cxx
  * @brief Class for NDN Name
  */
 class Name : public SimpleRefCount<Name>
diff --git a/ndn.cxx/ndn-api-face.h b/ndn.cxx/ndn-api-face.h
index 78f482a..ac735c9 100644
--- a/ndn.cxx/ndn-api-face.h
+++ b/ndn.cxx/ndn-api-face.h
@@ -37,9 +37,16 @@
 class ApiFacePriv;
 
 /**
- * \ingroup sync
- * @brief A handler for NDN; clients of this code do not need to deal
- * with NDN API directly
+ * @ingroup ndn
+ * @defgroup ndn-cxx NDN.cxx API
+ */
+
+/**
+ * @ingroup ndn-face
+ * @ingroup ndn-cxx
+ * @brief An application NDN face, providing richer API interface, compared to ndn::AppFace
+ *
+ * @see ndn::AppFace
  */
 class ApiFace
   : public ns3::ndn::Face
diff --git a/plugins/ip-faces/ndn-ip-faces-helper.h b/plugins/ip-faces/ndn-ip-faces-helper.h
index ccaf3cd..873fd8e 100644
--- a/plugins/ip-faces/ndn-ip-faces-helper.h
+++ b/plugins/ip-faces/ndn-ip-faces-helper.h
@@ -35,7 +35,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-helpers
  * @brief Helper for NDN IP-based face creation
  */
 class IpFacesHelper
diff --git a/utils/batches.h b/utils/batches.h
index 7074640..526ae29 100644
--- a/utils/batches.h
+++ b/utils/batches.h
@@ -30,6 +30,7 @@
 namespace ns3 {
 
 /**
+ * @ingroup ndn-apps
  * @brief Class representing sets of (time, number) tuples with support of reading writing to streams
  */
 class Batches : public std::list<boost::tuple<Time, uint32_t> >
diff --git a/utils/mem-usage.h b/utils/mem-usage.h
index 788a45e..a18448a 100644
--- a/utils/mem-usage.h
+++ b/utils/mem-usage.h
@@ -39,6 +39,7 @@
 #endif
 
 /**
+ * @ingroup ndn-helpers
  * @brief Utility class to evaluate current usage of RAM
  */
 class MemUsage
diff --git a/utils/ndn-fw-hop-count-tag.h b/utils/ndn-fw-hop-count-tag.h
index 0ed62f0..f530961 100644
--- a/utils/ndn-fw-hop-count-tag.h
+++ b/utils/ndn-fw-hop-count-tag.h
@@ -27,6 +27,7 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn-fw
  * @brief Packet tag that is used to track hop count for Interest-Data pairs
  */
 class FwHopCountTag : public Tag
diff --git a/utils/ndn-limits-rate.h b/utils/ndn-limits-rate.h
index b21184a..0823cc7 100644
--- a/utils/ndn-limits-rate.h
+++ b/utils/ndn-limits-rate.h
@@ -28,7 +28,7 @@
 namespace ndn {
 
 /**
- * \ingroup ndn
+ * \ingroup ndn-fw
  * \brief Structure to manage limits for outstanding interests
  */
 class LimitsRate :
diff --git a/utils/ndn-limits-window.h b/utils/ndn-limits-window.h
index 655b8ef..1c1ed49 100644
--- a/utils/ndn-limits-window.h
+++ b/utils/ndn-limits-window.h
@@ -27,7 +27,7 @@
 namespace ndn {
 
 /**
- * \ingroup ndn
+ * \ingroup ndn-fw
  * \brief Structure to manage limits for outstanding interests (window-based limiting)
  */
 class LimitsWindow :
diff --git a/utils/ndn-limits.h b/utils/ndn-limits.h
index d1daa10..d8f848b 100644
--- a/utils/ndn-limits.h
+++ b/utils/ndn-limits.h
@@ -29,7 +29,7 @@
 namespace ndn {
 
 /**
- * \ingroup ndn
+ * \ingroup ndn-fw
  * \brief Abstract class to manage Interest limits 
  */
 class Limits :
diff --git a/utils/ndn-local-info-tag.h b/utils/ndn-local-info-tag.h
index 1ff6117..ba7aa92 100644
--- a/utils/ndn-local-info-tag.h
+++ b/utils/ndn-local-info-tag.h
@@ -30,6 +30,7 @@
 class Face;
 
 /**
+ * @ingroup ndn-fw
  * @brief Packet tag that is used to keep information about face from which packet was received
  *
  * This tag may be extended later to include more information, if necessary
diff --git a/utils/ndn-rtt-estimator.h b/utils/ndn-rtt-estimator.h
index 287452e..8da703b 100644
--- a/utils/ndn-rtt-estimator.h
+++ b/utils/ndn-rtt-estimator.h
@@ -36,7 +36,7 @@
 namespace ndn {
 
 /**
- * \ingroup tcp
+ * \ingroup ndn-apps
  *
  * \brief Helper class to store RTT measurements
  */
diff --git a/utils/ndn-rtt-mean-deviation.h b/utils/ndn-rtt-mean-deviation.h
index 02d8fac..fc48173 100644
--- a/utils/ndn-rtt-mean-deviation.h
+++ b/utils/ndn-rtt-mean-deviation.h
@@ -35,7 +35,7 @@
 namespace ndn {
 
 /**
- * \ingroup ndn
+ * \ingroup ndn-apps
  *
  * \brief The modified version of "Mean--Deviation" RTT estimator, as discussed by Van Jacobson that better suits NDN communication model
  *
diff --git a/utils/tracers/ipv4-app-tracer.h b/utils/tracers/ipv4-app-tracer.h
index 0322d96..d574117 100644
--- a/utils/tracers/ipv4-app-tracer.h
+++ b/utils/tracers/ipv4-app-tracer.h
@@ -29,6 +29,10 @@
 
 class Ipv4Header;
 
+/**
+ * @ingroup ndn-tracers
+ * @brief Base class for IPv4/TCP based applications
+ */
 class Ipv4AppTracer : public SimpleRefCount<Ipv4AppTracer>
 {
 public:
diff --git a/utils/tracers/ipv4-l3-tracer.h b/utils/tracers/ipv4-l3-tracer.h
index 2e08054..b63dc01 100644
--- a/utils/tracers/ipv4-l3-tracer.h
+++ b/utils/tracers/ipv4-l3-tracer.h
@@ -29,6 +29,10 @@
 
 class Node;
 
+/**
+ * @ingroup ndn-tracers
+ * @brief Base class for IPv4 network-layer tracers
+ */
 class Ipv4L3Tracer : public SimpleRefCount<Ipv4L3Tracer>
 {
 public:
diff --git a/utils/tracers/ipv4-rate-l3-tracer.h b/utils/tracers/ipv4-rate-l3-tracer.h
index d4be0a9..b039822 100644
--- a/utils/tracers/ipv4-rate-l3-tracer.h
+++ b/utils/tracers/ipv4-rate-l3-tracer.h
@@ -34,8 +34,8 @@
 namespace ns3 {
 
 /**
- * @ingroup ccnx
- * @brief CCNx network-layer rate tracer
+ * @ingroup ndn-tracers
+ * @brief IPv4 network-layer rate tracer
  */
 class Ipv4RateL3Tracer : public Ipv4L3Tracer
 {
diff --git a/utils/tracers/ipv4-seqs-app-tracer.h b/utils/tracers/ipv4-seqs-app-tracer.h
index 5baa9f5..5a64a5a 100644
--- a/utils/tracers/ipv4-seqs-app-tracer.h
+++ b/utils/tracers/ipv4-seqs-app-tracer.h
@@ -27,6 +27,10 @@
 
 namespace ns3 {
 
+/**
+ * @ingroup ndn-tracers
+ * @brief Helper to track application-level sequence numbers (approximated from TCP ACKs)
+ */
 class Ipv4SeqsAppTracer : public Ipv4AppTracer
 {
 public:
diff --git a/utils/tracers/l2-rate-tracer.h b/utils/tracers/l2-rate-tracer.h
index 48105ac..de6ffcb 100644
--- a/utils/tracers/l2-rate-tracer.h
+++ b/utils/tracers/l2-rate-tracer.h
@@ -33,7 +33,10 @@
 namespace ns3 {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-tracers
+ * @brief Tracer to collect link-layer rate information about links
+ *
+ * @todo Finish implementation
  */
 class L2RateTracer : public L2Tracer
 {
diff --git a/utils/tracers/l2-tracer.h b/utils/tracers/l2-tracer.h
index a937d66..e6378b5 100644
--- a/utils/tracers/l2-tracer.h
+++ b/utils/tracers/l2-tracer.h
@@ -29,6 +29,12 @@
 
 class Node;
 
+/**
+ * @ingroup ndn-tracers
+ * @brief Link-layer tracer
+ *
+ * @todo Finish implementation
+ */
 class L2Tracer : public SimpleRefCount<L2Tracer>
 {
 public:
diff --git a/utils/tracers/ndn-app-delay-tracer.h b/utils/tracers/ndn-app-delay-tracer.h
index 7312225..dfbe5ea 100644
--- a/utils/tracers/ndn-app-delay-tracer.h
+++ b/utils/tracers/ndn-app-delay-tracer.h
@@ -41,8 +41,8 @@
 class App;
 
 /**
- * @ingroup ndn
- * @brief  network-layer tracer for aggregate packet counts
+ * @ingroup ndn-tracers
+ * @brief Tracer to obtain application-level delays
  */
 class AppDelayTracer : public SimpleRefCount<AppDelayTracer>
 {
diff --git a/utils/tracers/ndn-cs-tracer.h b/utils/tracers/ndn-cs-tracer.h
index 87c290e..906e85a 100644
--- a/utils/tracers/ndn-cs-tracer.h
+++ b/utils/tracers/ndn-cs-tracer.h
@@ -48,6 +48,7 @@
 
 namespace cs {
 
+/// @cond include_hidden
 struct Stats
 {
   inline void Reset ()
@@ -58,11 +59,12 @@
   double m_cacheHits;
   double m_cacheMisses;
 };
+/// @endcond
 
 }  
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-tracers
  * @brief NDN tracer for cache performance (hits and misses)
  */
 class CsTracer : public SimpleRefCount<CsTracer>
diff --git a/utils/tracers/ndn-l3-aggregate-tracer.h b/utils/tracers/ndn-l3-aggregate-tracer.h
index 98e6731..fdbf23c 100644
--- a/utils/tracers/ndn-l3-aggregate-tracer.h
+++ b/utils/tracers/ndn-l3-aggregate-tracer.h
@@ -36,8 +36,8 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
- * @brief CCNx network-layer tracer for aggregate packet counts
+ * @ingroup ndn-tracers
+ * @brief NDN network-layer tracer for aggregate packet counts
  */
 class L3AggregateTracer : public L3Tracer
 {
diff --git a/utils/tracers/ndn-l3-rate-tracer.h b/utils/tracers/ndn-l3-rate-tracer.h
index 60bb616..9df79b1 100644
--- a/utils/tracers/ndn-l3-rate-tracer.h
+++ b/utils/tracers/ndn-l3-rate-tracer.h
@@ -36,8 +36,8 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
- * @brief CCNx network-layer rate tracer
+ * @ingroup ndn-tracers
+ * @brief NDN network-layer rate tracer
  */
 class L3RateTracer : public L3Tracer
 {
diff --git a/utils/tracers/ndn-l3-tracer.h b/utils/tracers/ndn-l3-tracer.h
index 260fe61..ee525ed 100644
--- a/utils/tracers/ndn-l3-tracer.h
+++ b/utils/tracers/ndn-l3-tracer.h
@@ -24,6 +24,11 @@
 #include "ns3/ptr.h"
 #include "ns3/simple-ref-count.h"
 
+/**
+ * @ingroup ndn-helpers
+ * @defgroup ndn-tracers Helpers to simplify metric collection
+ */
+
 namespace ns3 {
 
 class Node;
@@ -41,6 +46,7 @@
 class ContentObject;
 
 /**
+ * @ingroup ndn-tracers
  * @brief Base class for network-layer (incoming/outgoing Interests and Data) tracing of NDN stack
  */
 class L3Tracer : public SimpleRefCount<L3Tracer>
