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
