diff --git a/utils/load-stats-node.h b/utils/load-stats-node.h
index 5989a23..365db55 100644
--- a/utils/load-stats-node.h
+++ b/utils/load-stats-node.h
@@ -25,9 +25,10 @@
 #include <map>
 #include "ns3/ptr.h"
 
-namespace ns3
-{
-class NdnFace;
+namespace ns3 {
+namespace ndn {
+
+class Face;
 
 namespace ndnSIM
 {
@@ -37,7 +38,7 @@
 class LoadStatsNode
 {
 public:
-  typedef std::map< ns3::Ptr<ns3::NdnFace>, LoadStatsFace > stats_container;
+  typedef std::map< ns3::Ptr<Face>, LoadStatsFace > stats_container;
 
   LoadStatsNode () {}
   LoadStatsNode (const LoadStatsNode &) {}
@@ -55,13 +56,13 @@
    * Increment counter to incoming list
    */
   void
-  AddIncoming (ns3::Ptr<ns3::NdnFace> face);
+  AddIncoming (ns3::Ptr<Face> face);
 
   /**
    * Increment counter to outgoing list
    */
   void
-  AddOutgoing (ns3::Ptr<ns3::NdnFace> face);
+  AddOutgoing (ns3::Ptr<Face> face);
 
   /**
    * Increment counter to both incoming and outgoing lists, for all faces
@@ -79,13 +80,13 @@
    * Increment counter for Tx amount
    */
   void
-  Rx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
+  Rx (ns3::Ptr<Face> face, uint32_t amount);
 
   /**
    * Increment counter for Tx amount
    */
   void
-  Tx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
+  Tx (ns3::Ptr<Face> face, uint32_t amount);
 
   LoadStatsNode &
   operator += (const LoadStatsNode &stats);
@@ -119,7 +120,7 @@
   }
 
   void
-  RemoveFace (ns3::Ptr<ns3::NdnFace> face);
+  RemoveFace (ns3::Ptr<Face> face);
   
 private:
   LoadStatsFace   m_pit;
@@ -152,6 +153,7 @@
 operator << (std::ostream &os, const LoadStatsNode &node);
 
 } // ndnSIM
+} // ndn
 } // ns3
 
 #endif
