First step of refactoring code (ccnx prefix => ndn prefix)
diff --git a/helper/boost-graph-ccnx-global-routing-helper.h b/helper/boost-graph-ndn-global-routing-helper.h
similarity index 61%
rename from helper/boost-graph-ccnx-global-routing-helper.h
rename to helper/boost-graph-ndn-global-routing-helper.h
index ab6a239..ab619c6 100644
--- a/helper/boost-graph-ccnx-global-routing-helper.h
+++ b/helper/boost-graph-ndn-global-routing-helper.h
@@ -19,8 +19,8 @@
  */
 
 
-#ifndef BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
-#define BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
+#ifndef BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
+#define BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
 
 /// @cond include_hidden
 
@@ -28,35 +28,35 @@
 #include <boost/graph/properties.hpp>
 #include <boost/ref.hpp>
 
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
 #include "ns3/node-list.h"
 #include "ns3/channel-list.h"
-#include "../model/ccnx-global-router.h"
+#include "../model/ndn-global-router.h"
 #include <list>
 #include <map>
 
 namespace boost
 {
 
-class CcnxGlobalRouterGraph
+class NdnGlobalRouterGraph
 {
 public:
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > Vertice;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > Vertice;
   typedef uint16_t edge_property_type;
   typedef uint32_t vertex_property_type;
   
-  CcnxGlobalRouterGraph ()
+  NdnGlobalRouterGraph ()
   {
     for (ns3::NodeList::Iterator node = ns3::NodeList::Begin (); node != ns3::NodeList::End (); node++)
       {
-        ns3::Ptr<ns3::CcnxGlobalRouter> gr = (*node)->GetObject<ns3::CcnxGlobalRouter> ();
+        ns3::Ptr<ns3::NdnGlobalRouter> gr = (*node)->GetObject<ns3::NdnGlobalRouter> ();
 	if (gr != 0)
 	  m_vertices.push_back (gr);
       }
 
     for (ns3::ChannelList::Iterator channel = ns3::ChannelList::Begin (); channel != ns3::ChannelList::End (); channel++)
       {
-        ns3::Ptr<ns3::CcnxGlobalRouter> gr = (*channel)->GetObject<ns3::CcnxGlobalRouter> ();
+        ns3::Ptr<ns3::NdnGlobalRouter> gr = (*channel)->GetObject<ns3::NdnGlobalRouter> ();
 	if (gr != 0)
 	  m_vertices.push_back (gr);
       }
@@ -73,7 +73,7 @@
 };
 
 
-class ccnx_global_router_graph_category :
+class ndn_global_router_graph_category :
     public virtual vertex_list_graph_tag,
     public virtual incidence_graph_tag
 {
@@ -81,21 +81,21 @@
 
 
 template<>
-struct graph_traits< CcnxGlobalRouterGraph >
+struct graph_traits< NdnGlobalRouterGraph >
 {
   // Graph concept
-  typedef CcnxGlobalRouterGraph::Vertice vertex_descriptor;
-  typedef ns3::CcnxGlobalRouter::Incidency edge_descriptor;
+  typedef NdnGlobalRouterGraph::Vertice vertex_descriptor;
+  typedef ns3::NdnGlobalRouter::Incidency edge_descriptor;
   typedef directed_tag directed_category;
   typedef disallow_parallel_edge_tag edge_parallel_category;
-  typedef ccnx_global_router_graph_category traversal_category;
+  typedef ndn_global_router_graph_category traversal_category;
 
   // VertexList concept
   typedef std::list< vertex_descriptor >::const_iterator vertex_iterator;
   typedef size_t vertices_size_type;
 
   // AdjacencyGraph concept
-  typedef ns3::CcnxGlobalRouter::IncidencyList::iterator out_edge_iterator;
+  typedef ns3::NdnGlobalRouter::IncidencyList::iterator out_edge_iterator;
   typedef size_t degree_size_type;
 
   // typedef size_t edges_size_type;
@@ -107,55 +107,55 @@
 {
 
 inline
-graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor
+graph_traits< NdnGlobalRouterGraph >::vertex_descriptor
 source(
-       graph_traits< CcnxGlobalRouterGraph >::edge_descriptor e,
-       const CcnxGlobalRouterGraph& g)
+       graph_traits< NdnGlobalRouterGraph >::edge_descriptor e,
+       const NdnGlobalRouterGraph& g)
 {
   return e.get<0> ();
 }
 
 inline
-graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor
+graph_traits< NdnGlobalRouterGraph >::vertex_descriptor
 target(
-       graph_traits< CcnxGlobalRouterGraph >::edge_descriptor e,
-       const CcnxGlobalRouterGraph& g)
+       graph_traits< NdnGlobalRouterGraph >::edge_descriptor e,
+       const NdnGlobalRouterGraph& g)
 {
   return e.get<2> ();
 }
 
 inline
-std::pair< graph_traits< CcnxGlobalRouterGraph >::vertex_iterator,
-	   graph_traits< CcnxGlobalRouterGraph >::vertex_iterator >
-vertices (const CcnxGlobalRouterGraph&g)
+std::pair< graph_traits< NdnGlobalRouterGraph >::vertex_iterator,
+	   graph_traits< NdnGlobalRouterGraph >::vertex_iterator >
+vertices (const NdnGlobalRouterGraph&g)
 {
   return make_pair (g.GetVertices ().begin (), g.GetVertices ().end ());
 }
 
 inline
-graph_traits< CcnxGlobalRouterGraph >::vertices_size_type
-num_vertices(const CcnxGlobalRouterGraph &g)
+graph_traits< NdnGlobalRouterGraph >::vertices_size_type
+num_vertices(const NdnGlobalRouterGraph &g)
 {
   return g.GetVertices ().size ();
 }
   
 
 inline
-std::pair< graph_traits< CcnxGlobalRouterGraph >::out_edge_iterator,
-	   graph_traits< CcnxGlobalRouterGraph >::out_edge_iterator >  
+std::pair< graph_traits< NdnGlobalRouterGraph >::out_edge_iterator,
+	   graph_traits< NdnGlobalRouterGraph >::out_edge_iterator >  
 out_edges(
-	  graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor u, 
-	  const CcnxGlobalRouterGraph& g)
+	  graph_traits< NdnGlobalRouterGraph >::vertex_descriptor u, 
+	  const NdnGlobalRouterGraph& g)
 {
   return std::make_pair(u->GetIncidencies ().begin (),
 			u->GetIncidencies ().end ());
 }
 
 inline
-graph_traits< CcnxGlobalRouterGraph >::degree_size_type
+graph_traits< NdnGlobalRouterGraph >::degree_size_type
 out_degree(
-	  graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor u, 
-	  const CcnxGlobalRouterGraph& g)
+	  graph_traits< NdnGlobalRouterGraph >::vertex_descriptor u, 
+	  const NdnGlobalRouterGraph& g)
 {
   return u->GetIncidencies ().size ();
 }
@@ -166,36 +166,36 @@
 
 struct EdgeWeights
 {
-  EdgeWeights (const CcnxGlobalRouterGraph &graph)
+  EdgeWeights (const NdnGlobalRouterGraph &graph)
   : m_graph (graph)
   { 
   }
 
 private:
-  const CcnxGlobalRouterGraph &m_graph;
+  const NdnGlobalRouterGraph &m_graph;
 };
 
 
 struct VertexIds
 {
-  VertexIds (const CcnxGlobalRouterGraph &graph)
+  VertexIds (const NdnGlobalRouterGraph &graph)
   : m_graph (graph)
   { 
   }
 
 private:
-  const CcnxGlobalRouterGraph &m_graph;
+  const NdnGlobalRouterGraph &m_graph;
 };
 
 template<>
-struct property_map< CcnxGlobalRouterGraph, edge_weight_t >
+struct property_map< NdnGlobalRouterGraph, edge_weight_t >
 {
   typedef const EdgeWeights const_type;
   typedef EdgeWeights type;
 };
 
 template<>
-struct property_map< CcnxGlobalRouterGraph, vertex_index_t >
+struct property_map< NdnGlobalRouterGraph, vertex_index_t >
 {
   typedef const VertexIds const_type;
   typedef VertexIds type;
@@ -206,9 +206,9 @@
 struct property_traits< EdgeWeights >
 {
   // Metric property map
-  typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint16_t > value_type;
-  typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint16_t > reference;
-  typedef ns3::CcnxGlobalRouter::Incidency key_type;
+  typedef tuple< ns3::Ptr<ns3::NdnFace>, uint16_t > value_type;
+  typedef tuple< ns3::Ptr<ns3::NdnFace>, uint16_t > reference;
+  typedef ns3::NdnGlobalRouter::Incidency key_type;
   typedef readable_property_map_tag category;
 };
 
@@ -254,8 +254,8 @@
     return a + b.get<1> ();
   }
 
-  tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t >
-  operator () (tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > a,
+  tuple< ns3::Ptr<ns3::NdnFace>, uint32_t >
+  operator () (tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > a,
                property_traits< EdgeWeights >::reference b) const
   {
     if (a.get<0> () == 0)
@@ -271,14 +271,14 @@
   // Metric property map
   typedef uint32_t value_type;
   typedef uint32_t reference;
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
   typedef readable_property_map_tag category;
 };
 
 
 inline EdgeWeights
 get(edge_weight_t,
-    const CcnxGlobalRouterGraph &g)
+    const NdnGlobalRouterGraph &g)
 {
   return EdgeWeights (g);
 }
@@ -286,7 +286,7 @@
 
 inline VertexIds
 get(vertex_index_t,
-    const CcnxGlobalRouterGraph &g)
+    const NdnGlobalRouterGraph &g)
 {
   return VertexIds (g);
 }
@@ -300,16 +300,16 @@
 }
 
 // void
-// put (cref< std::map< ns3::Ptr<ns3::CcnxGlobalRouter>, ns3::Ptr<ns3::CcnxGlobalRouter> > > map,
+// put (cref< std::map< ns3::Ptr<ns3::NdnGlobalRouter>, ns3::Ptr<ns3::NdnGlobalRouter> > > map,
 
 uint32_t
-get (const boost::VertexIds&, ns3::Ptr<ns3::CcnxGlobalRouter> &gr)
+get (const boost::VertexIds&, ns3::Ptr<ns3::NdnGlobalRouter> &gr)
 {
   return gr->GetId ();
 }
 
 inline property_traits< EdgeWeights >::reference
-get(const boost::EdgeWeights&, ns3::CcnxGlobalRouter::Incidency &edge)
+get(const boost::EdgeWeights&, ns3::NdnGlobalRouter::Incidency &edge)
 {
   if (edge.get<1> () == 0)
     return property_traits< EdgeWeights >::reference (0, 0);
@@ -318,7 +318,7 @@
 }
 
 struct PredecessorsMap :
-  public std::map< ns3::Ptr< ns3::CcnxGlobalRouter >, ns3::Ptr< ns3::CcnxGlobalRouter > >
+  public std::map< ns3::Ptr< ns3::NdnGlobalRouter >, ns3::Ptr< ns3::NdnGlobalRouter > >
 {
 };
 
@@ -326,15 +326,15 @@
 struct property_traits< reference_wrapper<PredecessorsMap> >
 {
   // Metric property map
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > value_type;
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > reference;
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > value_type;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > reference;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
   typedef read_write_property_map_tag category;
 };
 
 
 struct DistancesMap :
-  public std::map< ns3::Ptr< ns3::CcnxGlobalRouter >, tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > >
+  public std::map< ns3::Ptr< ns3::NdnGlobalRouter >, tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > >
 {
 };
 
@@ -342,18 +342,18 @@
 struct property_traits< reference_wrapper<DistancesMap> >
 {
   // Metric property map
-  typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > value_type;
-  typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > reference;
-  typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+  typedef tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > value_type;
+  typedef tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > reference;
+  typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
   typedef read_write_property_map_tag category;
 };
 
-inline tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t >
-get (DistancesMap &map, ns3::Ptr<ns3::CcnxGlobalRouter> key)
+inline tuple< ns3::Ptr<ns3::NdnFace>, uint32_t >
+get (DistancesMap &map, ns3::Ptr<ns3::NdnGlobalRouter> key)
 {
   boost::DistancesMap::iterator i = map.find (key);
   if (i == map.end ())
-    return tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > (0, std::numeric_limits<uint32_t>::max ());
+    return tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > (0, std::numeric_limits<uint32_t>::max ());
   else
     return i->second;
 }
@@ -362,4 +362,4 @@
 
 /// @endcond
 
-#endif // BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
+#endif // BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
diff --git a/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~ b/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~
deleted file mode 100644
index 8d9ecf7..0000000
--- a/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#include "ccnb-parser-dtag.h"
-
-#include "ccnb-parser-base-attr.h"
-#include "ccnb-parser-base-tag.h"
-
-namespace ns3 {
-namespace CcnbParser {
-
-Dtag::Dtag (Buffer::Iterator &start, uint32_t dtag)
-{
-  m_dtag = dtag;
-
-  /**
-   * Hack
-   *
-   * Stop processing after encountering <Content> dtag.  Actual
-   * content (including virtual payload) will be stored in Packet
-   * buffer
-   */
-  if (dtag == CCN_DTAG_Content)
-    return; // hack #1. Do not process nesting block for <Content>
-  
-  // parse attributes until first nested block reached
-  while (!start.IsEnd () && start.PeekU8 ()!=CCN_CLOSE)
-    {
-      Ptr<Block> block = Block::ParseBlock (start);
-      if (DynamicCast<BaseAttr> (block)!=0)
-		m_attrs.push_back (block);
-	  else
-		{
-		  m_nestedTags.push_back (block);
-		  break;
-		}
-	}
-
-  // parse the rest of nested blocks
-  while (!start.IsEnd () && start.PeekU8 ()!=CCN_CLOSE)
-    {
-      // hack #2. Stop processing nested blocks if last block was <Content>
-      if (m_dtag == CCN_DTAG_ContentObject && // we are in <ContentObject>
-          DynamicCast<Dtag> (m_nestedTags.back())!=0 && // last block is DTAG
-          DynamicCast<Dtag> (m_nestedTags.back())->m_dtag == CCN_DTAG_Content) 
-        {
-          return; 
-        }
-
-      m_nestedTags.push_back (Block::ParseBlock (start));
-    }
-  if (start.IsEnd ())
-      throw CcnbDecodingException ();
-
-  start.ReadU8 (); // read CCN_CLOSE
-}
-
-}
-}
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
index ff219f0..5188f8d 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
@@ -23,12 +23,12 @@
 #include "../syntax-tree/ccnb-parser-block.h"
 #include "../syntax-tree/ccnb-parser-dtag.h"
 
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
 
 #include "ns3/assert.h"
 #include "ns3/nstime.h"
 
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn-interest-header.h"
 #include "ccnb-parser-name-components-visitor.h"
 #include "ccnb-parser-non-negative-integer-visitor.h"
 #include "ccnb-parser-timestamp-visitor.h"
@@ -45,7 +45,7 @@
 
 // We don't care about any other fields
 void
-InterestVisitor::visit (Dtag &n, boost::any param/*should be CcnxInterestHeader* */)
+InterestVisitor::visit (Dtag &n, boost::any param/*should be NdnInterestHeader* */)
 {
   // uint32_t n.m_dtag;
   // std::list<Ptr<Block> > n.m_nestedBlocks;
@@ -55,7 +55,7 @@
   static TimestampVisitor          timestampVisitor;
   static Uint32tBlobVisitor        nonceVisitor;
   
-  CcnxInterestHeader &interest = *(boost::any_cast<CcnxInterestHeader*> (param));
+  NdnInterestHeader &interest = *(boost::any_cast<NdnInterestHeader*> (param));
 
   switch (n.m_dtag)
     {
@@ -73,7 +73,7 @@
         NS_LOG_DEBUG ("Name");
 
         // process name components
-        Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> ();
+        Ptr<NdnNameComponents> name = Create<NdnNameComponents> ();
         
         BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
           {
@@ -106,7 +106,7 @@
       {
         NS_LOG_DEBUG ("Exclude");
         // process exclude components
-        Ptr<CcnxNameComponents> exclude = Create<CcnxNameComponents> ();
+        Ptr<NdnNameComponents> exclude = Create<NdnNameComponents> ();
         
         BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
           {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
index 80e49eb..387292b 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
@@ -22,19 +22,19 @@
 
 #include "ccnb-parser-string-visitor.h"
 #include "../syntax-tree/ccnb-parser-dtag.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
 
 namespace ns3 {
 namespace CcnbParser {
 
 void
-NameComponentsVisitor::visit (Dtag &n, boost::any param/*should be CcnxNameComponents* */)
+NameComponentsVisitor::visit (Dtag &n, boost::any param/*should be NdnNameComponents* */)
 {
   // uint32_t n.m_dtag;
   // std::list<Ptr<Block> > n.m_nestedBlocks;
   static StringVisitor stringVisitor; 
  
-  CcnxNameComponents &components = *(boost::any_cast<CcnxNameComponents*> (param));
+  NdnNameComponents &components = *(boost::any_cast<NdnNameComponents*> (param));
 
   switch (n.m_dtag)
     {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
index 90aee97..25f9e50 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
@@ -27,7 +27,7 @@
 namespace CcnbParser {
 
 /**
- * \ingroup ccnx-ccnb
+ * \ingroup ndn-ccnb
  * \brief Visitor interface that takes no arguments and returns nothing
  *
  * \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
index 5ac08bf..1f9d1fa 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
@@ -28,7 +28,7 @@
 namespace CcnbParser {
 
 /**
- * \ingroup ccnx-ccnb
+ * \ingroup ndn-ccnb
  * \brief Visitor interface that takes one boost::any argument and returns nothing
  *
  * \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
diff --git a/helper/ccnx-decoding-helper.h b/helper/ccnx-decoding-helper.h
deleted file mode 100644
index 015b7ff..0000000
--- a/helper/ccnx-decoding-helper.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#ifndef _CCNX_DECODING_HELPER_H_
-#define _CCNX_DECODING_HELPER_H_
-
-#include <cstring>
-#include "ns3/buffer.h"
-
-namespace ns3 {
-
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
-
-/**
- * \brief Helper class to decode ccnb formatted CCNx message
- */
-class CcnxDecodingHelper
-{
-public:
-  /**
-   * \brief Deserialize Buffer::Iterator to CcnxInterestHeader
-   * @param start Buffer containing serialized CCNx message
-   * @param interest Pointer to the CcnxInterestHeader to hold deserialized value
-   * @return Number of bytes used for deserialization
-   */
-  static size_t
-  Deserialize (Buffer::Iterator start, CcnxInterestHeader &interest);
-
-  /**
-   * \brief Deserialize Buffer::Iterator to CcnxContentObjectHeader
-   * @param start Buffer containing serialized CCNx message
-   * @param contentObject Pointer to the CcnxContentObjectHeader to hold deserialized value
-   * @return Number of bytes used for deserialization
-   */
-  static size_t
-  Deserialize (Buffer::Iterator start, CcnxContentObjectHeader &contentObject);
-};
-} // namespace ns3
-
-#endif // _CCNX_DECODING_HELPER_H_
diff --git a/helper/ccnx-app-helper.cc b/helper/ndn-app-helper.cc
similarity index 79%
rename from helper/ccnx-app-helper.cc
rename to helper/ndn-app-helper.cc
index 0e77075..dcaee07 100644
--- a/helper/ccnx-app-helper.cc
+++ b/helper/ndn-app-helper.cc
@@ -18,40 +18,40 @@
  * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
  */
 
-#include "ccnx-app-helper.h"
+#include "ndn-app-helper.h"
 #include "ns3/log.h"
 #include "ns3/string.h"
 #include "ns3/names.h"
-#include "ns3/ccnx-app.h"
+#include "ns3/ndn-app.h"
 
 #ifdef NS3_MPI
 #include "ns3/mpi-interface.h"
 #endif
 
-NS_LOG_COMPONENT_DEFINE ("CcnxAppHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnAppHelper");
 
 namespace ns3 
 {
 
-CcnxAppHelper::CcnxAppHelper (const std::string &app)
+NdnAppHelper::NdnAppHelper (const std::string &app)
 {
   m_factory.SetTypeId (app);
 }
 
 void
-CcnxAppHelper::SetPrefix (const std::string &prefix)
+NdnAppHelper::SetPrefix (const std::string &prefix)
 {
   m_factory.Set ("Prefix", StringValue(prefix));
 }
 
 void 
-CcnxAppHelper::SetAttribute (std::string name, const AttributeValue &value)
+NdnAppHelper::SetAttribute (std::string name, const AttributeValue &value)
 {
   m_factory.Set (name, value);
 }
     
 ApplicationContainer
-CcnxAppHelper::Install (Ptr<Node> node)
+NdnAppHelper::Install (Ptr<Node> node)
 {
   ApplicationContainer apps;
   Ptr<Application> app = InstallPriv (node);
@@ -62,14 +62,14 @@
 }
     
 ApplicationContainer
-CcnxAppHelper::Install (std::string nodeName)
+NdnAppHelper::Install (std::string nodeName)
 {
   Ptr<Node> node = Names::Find<Node> (nodeName);
   return Install (node);
 }
     
 ApplicationContainer
-CcnxAppHelper::Install (NodeContainer c)
+NdnAppHelper::Install (NodeContainer c)
 {
   ApplicationContainer apps;
   for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
@@ -83,7 +83,7 @@
 }
     
 Ptr<Application>
-CcnxAppHelper::InstallPriv (Ptr<Node> node)
+NdnAppHelper::InstallPriv (Ptr<Node> node)
 {
 #ifdef NS3_MPI
   if (MpiInterface::IsEnabled () &&
@@ -94,7 +94,7 @@
     }
 #endif
   
-  Ptr<CcnxApp> app = m_factory.Create<CcnxApp> ();        
+  Ptr<NdnApp> app = m_factory.Create<NdnApp> ();        
   node->AddApplication (app);
         
   return app;
diff --git a/helper/ccnx-app-helper.h b/helper/ndn-app-helper.h
similarity index 72%
rename from helper/ccnx-app-helper.h
rename to helper/ndn-app-helper.h
index 3eb1296..1a76c84 100644
--- a/helper/ccnx-app-helper.h
+++ b/helper/ndn-app-helper.h
@@ -18,8 +18,8 @@
  * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
  */
 
-#ifndef CCNX_APP_HELPER_H
-#define CCNX_APP_HELPER_H
+#ifndef NDN_APP_HELPER_H
+#define NDN_APP_HELPER_H
 
 #include "ns3/object-factory.h"
 #include "ns3/attribute.h"
@@ -31,19 +31,19 @@
 {
 
 /**
- * \brief A helper to make it easier to instantiate an ns3::CcnxConsumer Application
+ * \brief A helper to make it easier to instantiate an ns3::NdnConsumer Application
  * on a set of nodes.
  */
-class CcnxAppHelper
+class NdnAppHelper
 {        
 public:
 
   /**
-   * \brief Create an CcnxAppHelper to make it easier to work with CCNx apps
+   * \brief Create an NdnAppHelper to make it easier to work with Ndn apps
    *
    * \param app Class of the application
    */
-  CcnxAppHelper (const std::string &prefix);
+  NdnAppHelper (const std::string &prefix);
 
   /**
    * @brief Set the prefix consumer will be requesting
@@ -60,29 +60,29 @@
   void SetAttribute (std::string name, const AttributeValue &value);
         
   /**
-   * Install an ns3::CcnxConsumer on each node of the input container
+   * Install an ns3::NdnConsumer on each node of the input container
    * configured with all the attributes set with SetAttribute.
    *
-   * \param c NodeContainer of the set of nodes on which an CcnxConsumer 
+   * \param c NodeContainer of the set of nodes on which an NdnConsumer 
    * will be installed.
    * \returns Container of Ptr to the applications installed.
    */
   ApplicationContainer Install (NodeContainer c);
         
   /**
-   * Install an ns3::CcnxConsumer on the node configured with all the 
+   * Install an ns3::NdnConsumer on the node configured with all the 
    * attributes set with SetAttribute.
    *
-   * \param node The node on which an CcnxConsumer will be installed.
+   * \param node The node on which an NdnConsumer will be installed.
    * \returns Container of Ptr to the applications installed.
    */
   ApplicationContainer Install (Ptr<Node> node);
         
   /**
-   * Install an ns3::CcnxConsumer on the node configured with all the 
+   * Install an ns3::NdnConsumer on the node configured with all the 
    * attributes set with SetAttribute.
    *
-   * \param nodeName The node on which an CcnxConsumer will be installed.
+   * \param nodeName The node on which an NdnConsumer will be installed.
    * \returns Container of Ptr to the applications installed.
    */
   ApplicationContainer Install (std::string nodeName);
@@ -90,10 +90,10 @@
 private:
   /**
    * \internal
-   * Install an ns3::CcnxConsumer on the node configured with all the 
+   * Install an ns3::NdnConsumer on the node configured with all the 
    * attributes set with SetAttribute.
    *
-   * \param node The node on which an CcnxConsumer will be installed.
+   * \param node The node on which an NdnConsumer will be installed.
    * \returns Ptr to the application installed.
    */
   Ptr<Application> InstallPriv (Ptr<Node> node);
@@ -102,5 +102,5 @@
 
 } // namespace ns3
 
-#endif // CCNX_APP_HELPER_H
+#endif // NDN_APP_HELPER_H
 
diff --git a/helper/ccnx-decoding-helper.cc b/helper/ndn-decoding-helper.cc
similarity index 84%
rename from helper/ccnx-decoding-helper.cc
rename to helper/ndn-decoding-helper.cc
index 6d1d7c8..4e5e6b8 100644
--- a/helper/ccnx-decoding-helper.cc
+++ b/helper/ndn-decoding-helper.cc
@@ -18,9 +18,9 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "ccnx-decoding-helper.h"
+#include "ndn-decoding-helper.h"
 
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn-interest-header.h"
 
 #include "ccnb-parser/visitors/ccnb-parser-interest-visitor.h"
 
@@ -29,12 +29,12 @@
 
 #include "ns3/log.h"
 
-NS_LOG_COMPONENT_DEFINE ("CcnxDecodingHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnDecodingHelper");
 
 namespace ns3 {
 
 size_t
-CcnxDecodingHelper::Deserialize (Buffer::Iterator start, CcnxInterestHeader &interest)
+NdnDecodingHelper::Deserialize (Buffer::Iterator start, NdnInterestHeader &interest)
 {
   static CcnbParser::InterestVisitor interestVisitor;
 
@@ -46,7 +46,7 @@
 }
 
 // size_t
-// CcnxDecodingHelper::Deserialize (Buffer::Iterator start, CcnxContentObjectHeader &contentObject)
+// NdnDecodingHelper::Deserialize (Buffer::Iterator start, NdnContentObjectHeader &contentObject)
 // {
 //   static CcnbParser::ContentObjectVisitor contentObjectVisitor;
 
diff --git a/helper/ndn-decoding-helper.h b/helper/ndn-decoding-helper.h
new file mode 100644
index 0000000..f6ab9fa
--- /dev/null
+++ b/helper/ndn-decoding-helper.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#ifndef _NDN_DECODING_HELPER_H_
+#define _NDN_DECODING_HELPER_H_
+
+#include <cstring>
+#include "ns3/buffer.h"
+
+namespace ns3 {
+
+class NdnInterestHeader;
+class NdnContentObjectHeader;
+
+/**
+ * \brief Helper class to decode ccnb formatted Ndn message
+ */
+class NdnDecodingHelper
+{
+public:
+  /**
+   * \brief Deserialize Buffer::Iterator to NdnInterestHeader
+   * @param start Buffer containing serialized Ndn message
+   * @param interest Pointer to the NdnInterestHeader to hold deserialized value
+   * @return Number of bytes used for deserialization
+   */
+  static size_t
+  Deserialize (Buffer::Iterator start, NdnInterestHeader &interest);
+
+  /**
+   * \brief Deserialize Buffer::Iterator to NdnContentObjectHeader
+   * @param start Buffer containing serialized Ndn message
+   * @param contentObject Pointer to the NdnContentObjectHeader to hold deserialized value
+   * @return Number of bytes used for deserialization
+   */
+  static size_t
+  Deserialize (Buffer::Iterator start, NdnContentObjectHeader &contentObject);
+};
+} // namespace ns3
+
+#endif // _NDN_DECODING_HELPER_H_
diff --git a/helper/ccnx-encoding-helper.cc b/helper/ndn-encoding-helper.cc
similarity index 88%
rename from helper/ccnx-encoding-helper.cc
rename to helper/ndn-encoding-helper.cc
index acb3966..200072b 100644
--- a/helper/ccnx-encoding-helper.cc
+++ b/helper/ndn-encoding-helper.cc
@@ -18,11 +18,11 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu> 
  */
 
-#include "ccnx-encoding-helper.h"
+#include "ndn-encoding-helper.h"
 
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
 
 #include <sstream>
 #include <boost/foreach.hpp>
@@ -30,7 +30,7 @@
 namespace ns3 {
 
 size_t
-CcnxEncodingHelper::Serialize (Buffer::Iterator start, const CcnxInterestHeader &interest)
+NdnEncodingHelper::Serialize (Buffer::Iterator start, const NdnInterestHeader &interest)
 {
   size_t written = 0;
   written += AppendBlockHeader (start, CcnbParser::CCN_DTAG_Interest, CcnbParser::CCN_DTAG); // <Interest>
@@ -99,7 +99,7 @@
 }
 
 size_t
-CcnxEncodingHelper::GetSerializedSize (const CcnxInterestHeader &interest)
+NdnEncodingHelper::GetSerializedSize (const NdnInterestHeader &interest)
 {
   size_t written = 0;
   written += EstimateBlockHeader (CcnbParser::CCN_DTAG_Interest); // <Interest>
@@ -176,7 +176,7 @@
 #define CCN_TT_HBIT ((unsigned char)(1 << 7))
 
 size_t
-CcnxEncodingHelper::AppendBlockHeader (Buffer::Iterator &start, size_t val, CcnbParser::ccn_tt tt)
+NdnEncodingHelper::AppendBlockHeader (Buffer::Iterator &start, size_t val, CcnbParser::ccn_tt tt)
 {
   unsigned char buf[1+8*((sizeof(val)+6)/7)];
   unsigned char *p = &(buf[sizeof(buf)-1]);
@@ -195,7 +195,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateBlockHeader (size_t value)
+NdnEncodingHelper::EstimateBlockHeader (size_t value)
 {
   value >>= (7-CCN_TT_BITS);
   size_t n = 1;
@@ -208,7 +208,7 @@
 }
 
 size_t
-CcnxEncodingHelper::AppendNumber (Buffer::Iterator &start, uint32_t number)
+NdnEncodingHelper::AppendNumber (Buffer::Iterator &start, uint32_t number)
 {
   std::ostringstream os;
   os << number;
@@ -222,7 +222,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateNumber (uint32_t number)
+NdnEncodingHelper::EstimateNumber (uint32_t number)
 {
   std::ostringstream os;
   os << number;
@@ -230,14 +230,14 @@
 }
   
 size_t
-CcnxEncodingHelper::AppendCloser (Buffer::Iterator &start)
+NdnEncodingHelper::AppendCloser (Buffer::Iterator &start)
 {
   start.WriteU8 (CcnbParser::CCN_CLOSE);
   return 1;
 }
 
 size_t
-CcnxEncodingHelper::AppendNameComponents (Buffer::Iterator &start, const CcnxNameComponents &name)
+NdnEncodingHelper::AppendNameComponents (Buffer::Iterator &start, const NdnNameComponents &name)
 {
   size_t written = 0;
   BOOST_FOREACH (const std::string &component, name.GetComponents())
@@ -249,7 +249,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateNameComponents (const CcnxNameComponents &name)
+NdnEncodingHelper::EstimateNameComponents (const NdnNameComponents &name)
 {
   size_t written = 0;
   BOOST_FOREACH (const std::string &component, name.GetComponents())
@@ -260,7 +260,7 @@
 }
 
 size_t
-CcnxEncodingHelper::AppendTimestampBlob (Buffer::Iterator &start, const Time &time)
+NdnEncodingHelper::AppendTimestampBlob (Buffer::Iterator &start, const Time &time)
 {
   // the original function implements Markers... thought not sure what are these markers for...
 
@@ -287,7 +287,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateTimestampBlob (const Time &time)
+NdnEncodingHelper::EstimateTimestampBlob (const Time &time)
 {
   int required_bytes = 2; // 12 bits for fractions of a second, 4 bits left for seconds. Sometimes it is enough
   intmax_t ts = time.ToInteger (Time::S) >> 4;
@@ -298,7 +298,7 @@
 }
 
 size_t
-CcnxEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
+NdnEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
                   const uint8_t *data, size_t size)
 {
   size_t written = AppendBlockHeader (start, dtag, CcnbParser::CCN_DTAG);
@@ -317,7 +317,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateTaggedBlob (CcnbParser::ccn_dtag dtag, size_t size)
+NdnEncodingHelper::EstimateTaggedBlob (CcnbParser::ccn_dtag dtag, size_t size)
 {
   if (size>0)
     return EstimateBlockHeader (dtag) + EstimateBlockHeader (size) + size + 1;
@@ -326,7 +326,7 @@
 }
 
 size_t
-CcnxEncodingHelper::AppendString (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
+NdnEncodingHelper::AppendString (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
                                   const std::string &string)
 {
   size_t written = AppendBlockHeader (start, dtag, CcnbParser::CCN_DTAG);
@@ -341,7 +341,7 @@
 }
 
 size_t
-CcnxEncodingHelper::EstimateString (CcnbParser::ccn_dtag dtag, const std::string &string)
+NdnEncodingHelper::EstimateString (CcnbParser::ccn_dtag dtag, const std::string &string)
 {
   return EstimateBlockHeader (dtag) + EstimateBlockHeader (string.size ()) + string.size () + 1;
 }
diff --git a/helper/ccnx-encoding-helper.h b/helper/ndn-encoding-helper.h
similarity index 77%
rename from helper/ccnx-encoding-helper.h
rename to helper/ndn-encoding-helper.h
index 45fdc84..90b3f57 100644
--- a/helper/ccnx-encoding-helper.h
+++ b/helper/ndn-encoding-helper.h
@@ -18,8 +18,8 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#ifndef _CCNX_ENCODING_HELPER_H_
-#define _CCNX_ENCODING_HELPER_H_
+#ifndef _NDN_ENCODING_HELPER_H_
+#define _NDN_ENCODING_HELPER_H_
 
 #include <sys/types.h>
 
@@ -30,38 +30,38 @@
 
 namespace ns3 {
 
-class CcnxNameComponents;
+class NdnNameComponents;
 
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
   
 /**
- * \brief Helper to encode/decode ccnb formatted CCNx message
+ * \brief Helper to encode/decode ccnb formatted Ndn message
  */
-class CcnxEncodingHelper
+class NdnEncodingHelper
 {
 public:
   /**
-   * \brief Serialize CcnxInterestHeader to Buffer::Iterator
-   * @param start Buffer to store serialized CcnxInterestHeader
-   * @param interest Pointer to CcnxInterestHeader to be serialized 
-   * @return length of serialized CcnxInterestHeader
+   * \brief Serialize NdnInterestHeader to Buffer::Iterator
+   * @param start Buffer to store serialized NdnInterestHeader
+   * @param interest Pointer to NdnInterestHeader to be serialized 
+   * @return length of serialized NdnInterestHeader
    */
   static size_t
-  Serialize (Buffer::Iterator start, const CcnxInterestHeader &interest);
+  Serialize (Buffer::Iterator start, const NdnInterestHeader &interest);
 
   /**
-   * \brief Compute the size of serialized CcnxInterestHeader
-   * @param interest Pointer to CcnxInterestHeader
+   * \brief Compute the size of serialized NdnInterestHeader
+   * @param interest Pointer to NdnInterestHeader
    * @return length 
    */
   static size_t
-  GetSerializedSize (const CcnxInterestHeader &interest);
+  GetSerializedSize (const NdnInterestHeader &interest);
   
 public:
   /**
    * @brief Append CCNB block header
-   * @param start Buffer to store serialized CcnxInterestHeader
+   * @param start Buffer to store serialized NdnInterestHeader
    * @param value dictionary id of the block header
    * @param block_type Type of CCNB block
    *
@@ -80,7 +80,7 @@
 
   /**
    * @brief Add number in CCNB encoding
-   * @param start Buffer to store serialized CcnxInterestHeader
+   * @param start Buffer to store serialized NdnInterestHeader
    * @param number Number to be written
    *
    * @returns written length
@@ -98,7 +98,7 @@
 
   /**
    * @brief Append CCNB closer tag (estimated size is 1)
-   * @param start Buffer to store serialized CcnxInterestHeader
+   * @param start Buffer to store serialized NdnInterestHeader
    *
    * @returns written length
    */
@@ -106,22 +106,22 @@
   AppendCloser (Buffer::Iterator &start);
 
   /**
-   * @brief Append CcnxNameComponents in CCNB encoding
-   * @param start Buffer to store serialized CcnxInterestHeader
-   * @param name constant reference to CcnxNameComponents object
+   * @brief Append NdnNameComponents in CCNB encoding
+   * @param start Buffer to store serialized NdnInterestHeader
+   * @param name constant reference to NdnNameComponents object
    *
    * @returns written length
    */
   static size_t
-  AppendNameComponents (Buffer::Iterator &start, const CcnxNameComponents &name);
+  AppendNameComponents (Buffer::Iterator &start, const NdnNameComponents &name);
 
   /**
-   * @brief Estimate size of CcnxNameComponents in CCNB encoding
-   * @param name constant reference to CcnxNameComponents object
+   * @brief Estimate size of NdnNameComponents in CCNB encoding
+   * @param name constant reference to NdnNameComponents object
    * @returns estimated length
    */
   static size_t
-  EstimateNameComponents (const CcnxNameComponents &name);
+  EstimateNameComponents (const NdnNameComponents &name);
 
   /**
    * Append a binary timestamp as a BLOB using the ccn binary
@@ -213,12 +213,12 @@
 
 template<class T>
 size_t
-CcnxEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag, const T &data)
+NdnEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag, const T &data)
 {
   return AppendTaggedBlob (start, dtag, reinterpret_cast<const uint8_t*> (&data), sizeof (data));
 }
 
 } // namespace ns3
 
-#endif // _CCNX_ENCODING_HELPER_H_
+#endif // _NDN_ENCODING_HELPER_H_
 
diff --git a/helper/ccnx-face-container.cc b/helper/ndn-face-container.cc
similarity index 67%
rename from helper/ccnx-face-container.cc
rename to helper/ndn-face-container.cc
index 8a7a9e2..2e0ec33 100644
--- a/helper/ccnx-face-container.cc
+++ b/helper/ndn-face-container.cc
@@ -18,25 +18,25 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "ccnx-face-container.h"
+#include "ndn-face-container.h"
 
 #include <algorithm>
 
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
 
 namespace ns3 {
 
-CcnxFaceContainer::CcnxFaceContainer ()
+NdnFaceContainer::NdnFaceContainer ()
 {
 }
 
-CcnxFaceContainer::CcnxFaceContainer (const CcnxFaceContainer &other)
+NdnFaceContainer::NdnFaceContainer (const NdnFaceContainer &other)
 {
   AddAll (other);
 }
 
-CcnxFaceContainer&
-CcnxFaceContainer::operator= (const CcnxFaceContainer &other)
+NdnFaceContainer&
+NdnFaceContainer::operator= (const NdnFaceContainer &other)
 {
   m_faces.clear ();
   AddAll (other);
@@ -46,38 +46,38 @@
 
   
 void
-CcnxFaceContainer::AddAll (Ptr<CcnxFaceContainer> other)
+NdnFaceContainer::AddAll (Ptr<NdnFaceContainer> other)
 {
   AddAll (*other);
 }
 
 void
-CcnxFaceContainer::AddAll (const CcnxFaceContainer &other)
+NdnFaceContainer::AddAll (const NdnFaceContainer &other)
 {
   m_faces.insert (m_faces.end (),
                   other.m_faces.begin (), other.m_faces.end ());
 }
 
-CcnxFaceContainer::Iterator
-CcnxFaceContainer::Begin (void) const
+NdnFaceContainer::Iterator
+NdnFaceContainer::Begin (void) const
 {
   return m_faces.begin ();
 }
 
-CcnxFaceContainer::Iterator
-CcnxFaceContainer::End (void) const
+NdnFaceContainer::Iterator
+NdnFaceContainer::End (void) const
 {
   return m_faces.end ();
 }
 
 uint32_t
-CcnxFaceContainer::GetN (void) const
+NdnFaceContainer::GetN (void) const
 {
   return m_faces.size ();
 }
 
 // void 
-// CcnxFaceContainer::SetMetricToAll (uint16_t metric)
+// NdnFaceContainer::SetMetricToAll (uint16_t metric)
 // {
 //   for (FaceContainer::iterator it=m_faces.begin ();
 //        it != m_faces.end ();
@@ -88,13 +88,13 @@
 // }
 
 void 
-CcnxFaceContainer::Add (const Ptr<CcnxFace> &face)
+NdnFaceContainer::Add (const Ptr<NdnFace> &face)
 {
   m_faces.push_back (face);
 }
 
-Ptr<CcnxFace>
-CcnxFaceContainer::Get (CcnxFaceContainer::Iterator i) const
+Ptr<NdnFace>
+NdnFaceContainer::Get (NdnFaceContainer::Iterator i) const
 {
   return *i;
 }
diff --git a/helper/ccnx-face-container.h b/helper/ndn-face-container.h
similarity index 69%
rename from helper/ccnx-face-container.h
rename to helper/ndn-face-container.h
index 39391f8..e1fd4b2 100644
--- a/helper/ccnx-face-container.h
+++ b/helper/ndn-face-container.h
@@ -18,68 +18,68 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#ifndef CCNX_FACE_CONTAINER_H
-#define CCNX_FACE_CONTAINER_H
+#ifndef NDN_FACE_CONTAINER_H
+#define NDN_FACE_CONTAINER_H
 
 #include <stdint.h>
 #include <vector>
 
 #include "ns3/ptr.h"
 #include "ns3/simple-ref-count.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
 
 namespace ns3 {
 
 /**
- * \ingroup ccnx-helpers
- * \brief A pool for CCNx faces
+ * \ingroup ndn-helpers
+ * \brief A pool for Ndn faces
  * 
  * Provides tools to perform basic manipulation on faces, such as
  * setting metrics and states on faces
  *
- * \see CcnxStackHelper
+ * \see NdnStackHelper
  */
-class CcnxFaceContainer : public SimpleRefCount<CcnxFaceContainer>
+class NdnFaceContainer : public SimpleRefCount<NdnFaceContainer>
 {
 private:
-  typedef std::vector<Ptr<CcnxFace> > FaceContainer;
+  typedef std::vector<Ptr<NdnFace> > FaceContainer;
 public:
-  typedef FaceContainer::const_iterator Iterator; ///< \brief Iterator over CcnxFaceContainer
+  typedef FaceContainer::const_iterator Iterator; ///< \brief Iterator over NdnFaceContainer
 
   /**
-   * \brief Create an empty CcnxFaceContainer.
+   * \brief Create an empty NdnFaceContainer.
    */
-  CcnxFaceContainer ();
+  NdnFaceContainer ();
 
   /**
-   * \brief Copy constructor for CcnxFaceContainer. Calls AddAll method
+   * \brief Copy constructor for NdnFaceContainer. Calls AddAll method
    *
-   * \see CcnxFaceContainer::AddAll
+   * \see NdnFaceContainer::AddAll
    */
-  CcnxFaceContainer (const CcnxFaceContainer &other);
+  NdnFaceContainer (const NdnFaceContainer &other);
 
   /**
-   * \brief Copy operator for CcnxFaceContainer. Empties vector and calls AddAll method
+   * \brief Copy operator for NdnFaceContainer. Empties vector and calls AddAll method
    *
    * All previously obtained iterators (Begin() and End()) will be invalidated
    *
-   * \see CcnxFaceContainer::AddAll
+   * \see NdnFaceContainer::AddAll
    */
-  CcnxFaceContainer& operator= (const CcnxFaceContainer &other);
+  NdnFaceContainer& operator= (const NdnFaceContainer &other);
   
   /**
    * \brief Add all entries from other container
    *
    * \param other smart pointer to a container
    */
-  void AddAll (Ptr<CcnxFaceContainer> other);
+  void AddAll (Ptr<NdnFaceContainer> other);
 
   /**
    * \brief Add all entries from other container
    *
    * \param other container
    */
-  void AddAll (const CcnxFaceContainer &other);
+  void AddAll (const NdnFaceContainer &other);
 
   /**
    * \brief Get an iterator which refers to the first pair in the
@@ -114,22 +114,22 @@
   /**
    * Add an entry to the container
    *
-   * \param face a smart pointer to a CcnxFace-derived object
+   * \param face a smart pointer to a NdnFace-derived object
    *
-   * @see CcnxFace
+   * @see NdnFace
    */
-  void Add (const Ptr<CcnxFace> &face);
+  void Add (const Ptr<NdnFace> &face);
 
   /**
-   * Get a smart pointer to CcnxFace-derived object stored in the container
+   * Get a smart pointer to NdnFace-derived object stored in the container
    *
    * \param i the iterator corresponding to the requested object
    *
    * This method is redundant and simple dereferencing of the iterator should be used instead
    *
-   * @see CcnxFace
+   * @see NdnFace
    */
-  Ptr<CcnxFace> Get (Iterator i) const;
+  Ptr<NdnFace> Get (Iterator i) const;
 
 private:
   FaceContainer m_faces;
@@ -137,4 +137,4 @@
 
 } // namespace ns3
 
-#endif /* CCNX_FACE_CONTAINER_H */
+#endif /* NDN_FACE_CONTAINER_H */
diff --git a/helper/ccnx-global-routing-helper.cc b/helper/ndn-global-routing-helper.cc
similarity index 67%
rename from helper/ccnx-global-routing-helper.cc
rename to helper/ndn-global-routing-helper.cc
index 908937e..c3c9968 100644
--- a/helper/ccnx-global-routing-helper.cc
+++ b/helper/ndn-global-routing-helper.cc
@@ -18,13 +18,13 @@
  * Author:  Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "ccnx-global-routing-helper.h"
+#include "ndn-global-routing-helper.h"
 
-#include "ns3/ccnx.h"
-#include "../model/ccnx-net-device-face.h"
-#include "../model/ccnx-global-router.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-fib.h"
+#include "ns3/ndn.h"
+#include "../model/ndn-net-device-face.h"
+#include "../model/ndn-global-router.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-fib.h"
 
 #include "ns3/node.h"
 #include "ns3/node-container.h"
@@ -43,9 +43,9 @@
 // #include <boost/graph/adjacency_list.hpp>
 #include <boost/graph/dijkstra_shortest_paths.hpp>
 
-#include "boost-graph-ccnx-global-routing-helper.h"
+#include "boost-graph-ndn-global-routing-helper.h"
 
-NS_LOG_COMPONENT_DEFINE ("CcnxGlobalRoutingHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnGlobalRoutingHelper");
 
 using namespace std;
 using namespace boost;
@@ -53,26 +53,26 @@
 namespace ns3 {
 
 void
-CcnxGlobalRoutingHelper::Install (Ptr<Node> node)
+NdnGlobalRoutingHelper::Install (Ptr<Node> node)
 {
   NS_LOG_LOGIC ("Node: " << node->GetId ());
   
-  Ptr<Ccnx> ccnx = node->GetObject<Ccnx> ();
-  NS_ASSERT_MSG (ccnx != 0, "Cannot install CcnxGlobalRoutingHelper before Ccnx is installed on a node");
+  Ptr<Ndn> ndn = node->GetObject<Ndn> ();
+  NS_ASSERT_MSG (ndn != 0, "Cannot install NdnGlobalRoutingHelper before Ndn is installed on a node");
 
-  Ptr<CcnxGlobalRouter> gr = node->GetObject<CcnxGlobalRouter> ();
+  Ptr<NdnGlobalRouter> gr = node->GetObject<NdnGlobalRouter> ();
   if (gr != 0)
     {
-      NS_LOG_DEBUG ("CcnxGlobalRouter is already installed: " << gr);
+      NS_LOG_DEBUG ("NdnGlobalRouter is already installed: " << gr);
       return; // already installed
     }
   
-  gr = CreateObject<CcnxGlobalRouter> ();
+  gr = CreateObject<NdnGlobalRouter> ();
   node->AggregateObject (gr);
   
-  for (uint32_t faceId = 0; faceId < ccnx->GetNFaces (); faceId++)
+  for (uint32_t faceId = 0; faceId < ndn->GetNFaces (); faceId++)
     {
-      Ptr<CcnxNetDeviceFace> face = DynamicCast<CcnxNetDeviceFace> (ccnx->GetFace (faceId));
+      Ptr<NdnNetDeviceFace> face = DynamicCast<NdnNetDeviceFace> (ndn->GetFace (faceId));
       if (face == 0)
 	{
 	  NS_LOG_DEBUG ("Skipping non-netdevice face");
@@ -82,7 +82,7 @@
       Ptr<NetDevice> nd = face->GetNetDevice ();
       if (nd == 0)
 	{
-	  NS_LOG_DEBUG ("Not a NetDevice associated with CcnxNetDeviceFace");
+	  NS_LOG_DEBUG ("Not a NetDevice associated with NdnNetDeviceFace");
 	  continue;
 	}
       
@@ -104,24 +104,24 @@
 	      Ptr<Node> otherNode = otherSide->GetNode ();
 	      NS_ASSERT (otherNode != 0);
 	      
-	      Ptr<CcnxGlobalRouter> otherGr = otherNode->GetObject<CcnxGlobalRouter> ();
+	      Ptr<NdnGlobalRouter> otherGr = otherNode->GetObject<NdnGlobalRouter> ();
 	      if (otherGr == 0)
 		{
 		  Install (otherNode);
 		}
-	      otherGr = otherNode->GetObject<CcnxGlobalRouter> ();
+	      otherGr = otherNode->GetObject<NdnGlobalRouter> ();
 	      NS_ASSERT (otherGr != 0);
 	      gr->AddIncidency (face, otherGr);
 	    }
 	}
       else
 	{
-	  Ptr<CcnxGlobalRouter> grChannel = ch->GetObject<CcnxGlobalRouter> ();
+	  Ptr<NdnGlobalRouter> grChannel = ch->GetObject<NdnGlobalRouter> ();
 	  if (grChannel == 0)
 	    {
 	      Install (ch);
 	    }
-	  grChannel = ch->GetObject<CcnxGlobalRouter> ();
+	  grChannel = ch->GetObject<NdnGlobalRouter> ();
 	  
 	  gr->AddIncidency (0, grChannel);
 	}
@@ -129,15 +129,15 @@
 }
 
 void
-CcnxGlobalRoutingHelper::Install (Ptr<Channel> channel)
+NdnGlobalRoutingHelper::Install (Ptr<Channel> channel)
 {
   NS_LOG_LOGIC ("Channel: " << channel->GetId ());
 
-  Ptr<CcnxGlobalRouter> gr = channel->GetObject<CcnxGlobalRouter> ();
+  Ptr<NdnGlobalRouter> gr = channel->GetObject<NdnGlobalRouter> ();
   if (gr != 0)
     return;
 
-  gr = CreateObject<CcnxGlobalRouter> ();
+  gr = CreateObject<NdnGlobalRouter> ();
   channel->AggregateObject (gr);
   
   for (uint32_t deviceId = 0; deviceId < channel->GetNDevices (); deviceId ++)
@@ -147,12 +147,12 @@
       Ptr<Node> node = dev->GetNode ();
       NS_ASSERT (node != 0);
 
-      Ptr<CcnxGlobalRouter> grOther = node->GetObject<CcnxGlobalRouter> ();
+      Ptr<NdnGlobalRouter> grOther = node->GetObject<NdnGlobalRouter> ();
       if (grOther == 0)
 	{
 	  Install (node);
 	}
-      grOther = node->GetObject<CcnxGlobalRouter> ();
+      grOther = node->GetObject<NdnGlobalRouter> ();
       NS_ASSERT (grOther != 0);
 
       gr->AddIncidency (0, grOther);
@@ -160,7 +160,7 @@
 }
 
 void
-CcnxGlobalRoutingHelper::Install (const NodeContainer &nodes)
+NdnGlobalRoutingHelper::Install (const NodeContainer &nodes)
 {
   for (NodeContainer::Iterator node = nodes.Begin ();
        node != nodes.End ();
@@ -171,25 +171,25 @@
 }
 
 void
-CcnxGlobalRoutingHelper::InstallAll ()
+NdnGlobalRoutingHelper::InstallAll ()
 {
   Install (NodeContainer::GetGlobal ());
 }
 
 
 void
-CcnxGlobalRoutingHelper::AddOrigin (const std::string &prefix, Ptr<Node> node)
+NdnGlobalRoutingHelper::AddOrigin (const std::string &prefix, Ptr<Node> node)
 {
-  Ptr<CcnxGlobalRouter> gr = node->GetObject<CcnxGlobalRouter> ();
+  Ptr<NdnGlobalRouter> gr = node->GetObject<NdnGlobalRouter> ();
   NS_ASSERT_MSG (gr != 0,
-		 "CcnxGlobalRouter is not installed on the node");
+		 "NdnGlobalRouter is not installed on the node");
 
-  Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> (boost::lexical_cast<CcnxNameComponents> (prefix));
+  Ptr<NdnNameComponents> name = Create<NdnNameComponents> (boost::lexical_cast<NdnNameComponents> (prefix));
   gr->AddLocalPrefix (name);  
 }
 
 void
-CcnxGlobalRoutingHelper::AddOrigins (const std::string &prefix, const NodeContainer &nodes)
+NdnGlobalRoutingHelper::AddOrigins (const std::string &prefix, const NodeContainer &nodes)
 {
   for (NodeContainer::Iterator node = nodes.Begin ();
        node != nodes.End ();
@@ -200,7 +200,7 @@
 }
 
 void
-CcnxGlobalRoutingHelper::AddOrigin (const std::string &prefix, const std::string &nodeName)
+NdnGlobalRoutingHelper::AddOrigin (const std::string &prefix, const std::string &nodeName)
 {
   Ptr<Node> node = Names::Find<Node> (nodeName);
   NS_ASSERT_MSG (node != 0, nodeName << "is not a Node");
@@ -209,28 +209,28 @@
 }
 
 void
-CcnxGlobalRoutingHelper::CalculateRoutes ()
+NdnGlobalRoutingHelper::CalculateRoutes ()
 {
   /**
    * Implementation of route calculation is heavily based on Boost Graph Library
    * See http://www.boost.org/doc/libs/1_49_0/libs/graph/doc/table_of_contents.html for more details
    */
   
-  BOOST_CONCEPT_ASSERT(( VertexListGraphConcept< CcnxGlobalRouterGraph > ));
-  BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept< CcnxGlobalRouterGraph > ));
+  BOOST_CONCEPT_ASSERT(( VertexListGraphConcept< NdnGlobalRouterGraph > ));
+  BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept< NdnGlobalRouterGraph > ));
   
-  CcnxGlobalRouterGraph graph;
-  typedef graph_traits < CcnxGlobalRouterGraph >::vertex_descriptor vertex_descriptor;
+  NdnGlobalRouterGraph graph;
+  typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor;
 
   // For now we doing Dijkstra for every node.  Can be replaced with Bellman-Ford or Floyd-Warshall.
   // Other algorithms should be faster, but they need additional EdgeListGraph concept provided by the graph, which
   // is not obviously how implement in an efficient manner
   for (NodeList::Iterator node = NodeList::Begin (); node != NodeList::End (); node++)
     {
-      Ptr<CcnxGlobalRouter> source = (*node)->GetObject<CcnxGlobalRouter> ();
+      Ptr<NdnGlobalRouter> source = (*node)->GetObject<NdnGlobalRouter> ();
       if (source == 0)
 	{
-	  NS_LOG_DEBUG ("Node " << (*node)->GetId () << " does not export CcnxGlobalRouter interface");
+	  NS_LOG_DEBUG ("Node " << (*node)->GetId () << " does not export NdnGlobalRouter interface");
 	  continue;
 	}
   
@@ -252,7 +252,7 @@
 
       // NS_LOG_DEBUG (predecessors.size () << ", " << distances.size ());
 
-      Ptr<CcnxFib>  fib  = source->GetObject<CcnxFib> ();
+      Ptr<NdnFib>  fib  = source->GetObject<NdnFib> ();
       fib->InvalidateAll ();
       NS_ASSERT (fib != 0);
       
@@ -275,7 +275,7 @@
 		// cout << " reachable via face " << *i->second.get<0> ()
 		//      << " with distance " << i->second.get<1> () << endl;
 
-		BOOST_FOREACH (const Ptr<const CcnxNameComponents> &prefix, i->first->GetLocalPrefixes ())
+		BOOST_FOREACH (const Ptr<const NdnNameComponents> &prefix, i->first->GetLocalPrefixes ())
 		  {
 		    fib->Add (prefix, i->second.get<0> (), i->second.get<1> ());
 		  }
diff --git a/helper/ccnx-global-routing-helper.h b/helper/ndn-global-routing-helper.h
similarity index 75%
rename from helper/ccnx-global-routing-helper.h
rename to helper/ndn-global-routing-helper.h
index 1bf4b59..ac92641 100644
--- a/helper/ccnx-global-routing-helper.h
+++ b/helper/ndn-global-routing-helper.h
@@ -18,8 +18,8 @@
  * Author:  Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#ifndef CCNX_GLOBAL_ROUTING_HELPER_H
-#define CCNX_GLOBAL_ROUTING_HELPER_H
+#ifndef NDN_GLOBAL_ROUTING_HELPER_H
+#define NDN_GLOBAL_ROUTING_HELPER_H
 
 #include "ns3/ptr.h"
 
@@ -30,35 +30,35 @@
 class Channel;
 
 /**
- * @ingroup ccnx
- * @brief Helper for CcnxGlobalRouter interface
+ * @ingroup ndn
+ * @brief Helper for NdnGlobalRouter interface
  */
-class CcnxGlobalRoutingHelper
+class NdnGlobalRoutingHelper
 {
 public:
   /**
-   * @brief Install CcnxGlobalRouter interface on a node
+   * @brief Install NdnGlobalRouter interface on a node
    *
-   * Note that CcnxGlobalRouter will also be installed on all connected nodes and channels
+   * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
    *
-   * @param node Node to install CcnxGlobalRouter interface
+   * @param node Node to install NdnGlobalRouter interface
    */
   void
   Install (Ptr<Node> node);
 
   
   /**
-   * @brief Install CcnxGlobalRouter interface on nodes
+   * @brief Install NdnGlobalRouter interface on nodes
    *
-   * Note that CcnxGlobalRouter will also be installed on all connected nodes and channels
+   * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
    *
-   * @param nodes NodeContainer to install CcnxGlobalRouter interface
+   * @param nodes NodeContainer to install NdnGlobalRouter interface
    */
   void
   Install (const NodeContainer &nodes);
 
   /**
-   * @brief Install CcnxGlobalRouter interface on all nodes
+   * @brief Install NdnGlobalRouter interface on all nodes
    */
   void
   InstallAll ();
@@ -100,4 +100,4 @@
 
 }
 
-#endif // CCNX_GLOBAL_ROUTING_HELPER_H
+#endif // NDN_GLOBAL_ROUTING_HELPER_H
diff --git a/helper/ccnx-header-helper.cc b/helper/ndn-header-helper.cc
similarity index 75%
rename from helper/ccnx-header-helper.cc
rename to helper/ndn-header-helper.cc
index d3a3400..58f8dde 100644
--- a/helper/ccnx-header-helper.cc
+++ b/helper/ndn-header-helper.cc
@@ -18,43 +18,43 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "ccnx-header-helper.h"
+#include "ndn-header-helper.h"
 
 #include "ns3/log.h"
 #include "ns3/packet.h"
 #include "ns3/header.h"
 #include "ns3/object.h"
 
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
 #include <iomanip>
 
-NS_LOG_COMPONENT_DEFINE ("CcnxHeaderHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnHeaderHelper");
 
 
 namespace ns3
 {
 
-CcnxHeaderHelper::Type
-CcnxHeaderHelper::GetCcnxHeaderType (Ptr<const Packet> packet)
+NdnHeaderHelper::Type
+NdnHeaderHelper::GetNdnHeaderType (Ptr<const Packet> packet)
 {
   uint8_t type[2];
   uint32_t read=packet->CopyData (type,2);
 
-  if (read!=2) throw CcnxUnknownHeaderException();
+  if (read!=2) throw NdnUnknownHeaderException();
 
   NS_LOG_DEBUG (*packet);
   if (type[0] == INTEREST_BYTE0 && type[1] == INTEREST_BYTE1)
     {
-      return CcnxHeaderHelper::INTEREST;
+      return NdnHeaderHelper::INTEREST;
     }
   else if (type[0] == CONTENT_OBJECT_BYTE0 && type[1] == CONTENT_OBJECT_BYTE1)
     {
-      return CcnxHeaderHelper::CONTENT_OBJECT;
+      return NdnHeaderHelper::CONTENT_OBJECT;
     }
 
   NS_LOG_DEBUG (*packet);
-  throw CcnxUnknownHeaderException();
+  throw NdnUnknownHeaderException();
 }
 
 } // namespace ns3
diff --git a/helper/ccnx-header-helper.h b/helper/ndn-header-helper.h
similarity index 68%
rename from helper/ccnx-header-helper.h
rename to helper/ndn-header-helper.h
index 7a23c6d..7f2e111 100644
--- a/helper/ccnx-header-helper.h
+++ b/helper/ndn-header-helper.h
@@ -18,8 +18,8 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#ifndef _CCNX_HEADER_HELPER_H_
-#define _CCNX_HEADER_HELPER_H_
+#ifndef _NDN_HEADER_HELPER_H_
+#define _NDN_HEADER_HELPER_H_
 
 #include "ns3/ptr.h"
 
@@ -36,27 +36,27 @@
 class Packet;
 
 /**
- * \ingroup ccnx-helpers
+ * \ingroup ndn-helpers
  *
- * \brief Class implementing functionality to detect CCNx packet type and
+ * \brief Class implementing functionality to detect Ndn packet type and
  * create the corresponding object
  *
- * CCNx doesn't really have a header, so we need this class to
- * determine type of CCNx packet and return corresponent header class,
- * CcnxInterestHeader or CcnxContentObjectHeader
+ * Ndn doesn't really have a header, so we need this class to
+ * determine type of Ndn packet and return corresponent header class,
+ * NdnInterestHeader or NdnContentObjectHeader
  *
- * Throws CcnxUnknownHeaderException if header type couldn't be determined
+ * Throws NdnUnknownHeaderException if header type couldn't be determined
  */
-class CcnxHeaderHelper
+class NdnHeaderHelper
 {
 public:
   /**
-     @brief enum for Ccnx packet types
+     @brief enum for Ndn packet types
    */
   enum Type {INTEREST, CONTENT_OBJECT}; 
 
   /**
-   * Static function to create an appropriate CCNx header
+   * Static function to create an appropriate Ndn header
    *
    * It peeks first 2 bytes of a packet.
    *
@@ -73,24 +73,24 @@
    *                          |               |
    *                      terminator      DTAG (Dictionary TAG)
    *
-   * \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
+   * \see http://www.ndn.org/releases/latest/doc/technical/BinaryEncoding.html
    */
   
   static Type
-  GetCcnxHeaderType (Ptr<const Packet> packet);
+  GetNdnHeaderType (Ptr<const Packet> packet);
 };
 
   /**
-   * \ingroup ccnx
-   * \defgroup ccnx-exceptions Exceptions
+   * \ingroup ndn
+   * \defgroup ndn-exceptions Exceptions
    */
   /**
-   * \ingroup ccnx-exceptions
-   * \brief Exception thrown if CCNx stack receives unrecognized
+   * \ingroup ndn-exceptions
+   * \brief Exception thrown if Ndn stack receives unrecognized
    * message type
    */
-class CcnxUnknownHeaderException {};
+class NdnUnknownHeaderException {};
 
 } // namespace ns3
 
-#endif // _CCNX_HEADER_HELPER_H_
+#endif // _NDN_HEADER_HELPER_H_
diff --git a/helper/ccnx-stack-helper.cc b/helper/ndn-stack-helper.cc
similarity index 71%
rename from helper/ccnx-stack-helper.cc
rename to helper/ndn-stack-helper.cc
index e178d18..6b0a022 100644
--- a/helper/ccnx-stack-helper.cc
+++ b/helper/ndn-stack-helper.cc
@@ -34,65 +34,65 @@
 #include "ns3/point-to-point-net-device.h"
 #include "ns3/point-to-point-helper.h"
 
-#include "../model/ccnx-net-device-face.h"
-#include "../model/ccnx-l3-protocol.h"
+#include "../model/ndn-net-device-face.h"
+#include "../model/ndn-l3-protocol.h"
 
-#include "ns3/ccnx-forwarding-strategy.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-content-store.h"
+#include "ns3/ndn-forwarding-strategy.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-content-store.h"
 
 #include "ns3/node-list.h"
 // #include "ns3/loopback-net-device.h"
 
 #include "ns3/data-rate.h"
 
-#include "ccnx-face-container.h"
-#include "ccnx-stack-helper.h"
+#include "ndn-face-container.h"
+#include "ndn-stack-helper.h"
 
 #include <limits>
 #include <map>
 #include <boost/foreach.hpp>
 #include <boost/lexical_cast.hpp>
 
-NS_LOG_COMPONENT_DEFINE ("CcnxStackHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnStackHelper");
 
 namespace ns3 {
     
-CcnxStackHelper::CcnxStackHelper ()
+NdnStackHelper::NdnStackHelper ()
   : m_limitsEnabled (false)
   , m_needSetDefaultRoutes (false)
 {
-  m_ccnxFactory.        SetTypeId ("ns3::CcnxL3Protocol");
+  m_ndnFactory.        SetTypeId ("ns3::NdnL3Protocol");
   m_strategyFactory.    SetTypeId ("ns3::ndnSIM::Flooding");
-  m_contentStoreFactory.SetTypeId ("ns3::CcnxContentStoreLru");
-  m_fibFactory.         SetTypeId ("ns3::CcnxFib");
-  m_pitFactory.         SetTypeId ("ns3::CcnxPit");
+  m_contentStoreFactory.SetTypeId ("ns3::NdnContentStoreLru");
+  m_fibFactory.         SetTypeId ("ns3::NdnFib");
+  m_pitFactory.         SetTypeId ("ns3::NdnPit");
 }
     
-CcnxStackHelper::~CcnxStackHelper ()
+NdnStackHelper::~NdnStackHelper ()
 {
 }
 
 void
-CcnxStackHelper::SetCcnxAttributes (const std::string &attr1, const std::string &value1,
+NdnStackHelper::SetNdnAttributes (const std::string &attr1, const std::string &value1,
                                     const std::string &attr2, const std::string &value2,
                                     const std::string &attr3, const std::string &value3,
                                     const std::string &attr4, const std::string &value4)
 {
   if (attr1 != "")
-      m_ccnxFactory.Set (attr1, StringValue (value1));
+      m_ndnFactory.Set (attr1, StringValue (value1));
   if (attr2 != "")
-      m_ccnxFactory.Set (attr2, StringValue (value2));
+      m_ndnFactory.Set (attr2, StringValue (value2));
   if (attr3 != "")
-      m_ccnxFactory.Set (attr3, StringValue (value3));
+      m_ndnFactory.Set (attr3, StringValue (value3));
   if (attr4 != "")
-      m_ccnxFactory.Set (attr4, StringValue (value4));
+      m_ndnFactory.Set (attr4, StringValue (value4));
 }
 
 void 
-CcnxStackHelper::SetForwardingStrategy (const std::string &strategy,
+NdnStackHelper::SetForwardingStrategy (const std::string &strategy,
                                         const std::string &attr1, const std::string &value1,
                                         const std::string &attr2, const std::string &value2,
                                         const std::string &attr3, const std::string &value3,
@@ -110,7 +110,7 @@
 }
 
 void
-CcnxStackHelper::SetContentStore (const std::string &contentStore,
+NdnStackHelper::SetContentStore (const std::string &contentStore,
                                   const std::string &attr1, const std::string &value1,
                                   const std::string &attr2, const std::string &value2,
                                   const std::string &attr3, const std::string &value3,
@@ -128,7 +128,7 @@
 }
 
 void
-CcnxStackHelper::SetPit (const std::string &pitClass,
+NdnStackHelper::SetPit (const std::string &pitClass,
                          const std::string &attr1, const std::string &value1,
                          const std::string &attr2, const std::string &value2,
                          const std::string &attr3, const std::string &value3,
@@ -146,7 +146,7 @@
 }
 
 void
-CcnxStackHelper::SetFib (const std::string &fibClass,
+NdnStackHelper::SetFib (const std::string &fibClass,
                          const std::string &attr1, const std::string &value1,
                          const std::string &attr2, const std::string &value2,
                          const std::string &attr3, const std::string &value3,
@@ -164,14 +164,14 @@
 }
 
 void
-CcnxStackHelper::SetDefaultRoutes (bool needSet)
+NdnStackHelper::SetDefaultRoutes (bool needSet)
 {
   NS_LOG_FUNCTION (this << needSet);
   m_needSetDefaultRoutes = needSet;
 }
 
 void
-CcnxStackHelper::EnableLimits (bool enable/* = true*/,
+NdnStackHelper::EnableLimits (bool enable/* = true*/,
                                Time avgRtt/*=Seconds(0.1)*/,
                                uint32_t avgContentObject/*=1100*/,
                                uint32_t avgInterest/*=40*/)
@@ -183,10 +183,10 @@
   m_avgInterestSize = avgInterest;
 }
 
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (NodeContainer c) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (NodeContainer c) const
 {
-  Ptr<CcnxFaceContainer> faces = Create<CcnxFaceContainer> ();
+  Ptr<NdnFaceContainer> faces = Create<NdnFaceContainer> ();
   for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
     {
       faces->AddAll (Install (*i));
@@ -194,43 +194,43 @@
   return faces;
 }
 
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::InstallAll (void) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::InstallAll (void) const
 {
   return Install (NodeContainer::GetGlobal ());
 }
 
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (Ptr<Node> node) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (Ptr<Node> node) const
 {
   // NS_ASSERT_MSG (m_forwarding, "SetForwardingHelper() should be set prior calling Install() method");
-  Ptr<CcnxFaceContainer> faces = Create<CcnxFaceContainer> ();
+  Ptr<NdnFaceContainer> faces = Create<NdnFaceContainer> ();
   
-  if (node->GetObject<Ccnx> () != 0)
+  if (node->GetObject<Ndn> () != 0)
     {
-      NS_FATAL_ERROR ("CcnxStackHelper::Install (): Installing " 
-                      "a CcnxStack to a node with an existing Ccnx object");
+      NS_FATAL_ERROR ("NdnStackHelper::Install (): Installing " 
+                      "a NdnStack to a node with an existing Ndn object");
       return 0;
     }
 
-  // Create CcnxL3Protocol
-  Ptr<Ccnx> ccnx = m_ccnxFactory.Create<Ccnx> ();
+  // Create NdnL3Protocol
+  Ptr<Ndn> ndn = m_ndnFactory.Create<Ndn> ();
 
   // Create and aggregate FIB
-  Ptr<CcnxFib> fib = m_fibFactory.Create<CcnxFib> ();
-  ccnx->AggregateObject (fib);
+  Ptr<NdnFib> fib = m_fibFactory.Create<NdnFib> ();
+  ndn->AggregateObject (fib);
 
   // Create and aggregate PIT
-  ccnx->AggregateObject (m_pitFactory.Create<CcnxPit> ());
+  ndn->AggregateObject (m_pitFactory.Create<NdnPit> ());
   
   // Create and aggregate forwarding strategy
-  ccnx->AggregateObject (m_strategyFactory.Create<CcnxForwardingStrategy> ());
+  ndn->AggregateObject (m_strategyFactory.Create<NdnForwardingStrategy> ());
 
   // Create and aggregate content store
-  ccnx->AggregateObject (m_contentStoreFactory.Create<CcnxContentStore> ());
+  ndn->AggregateObject (m_contentStoreFactory.Create<NdnContentStore> ());
 
-  // Aggregate CcnxL3Protocol on node
-  node->AggregateObject (ccnx);
+  // Aggregate NdnL3Protocol on node
+  node->AggregateObject (ndn);
   
   for (uint32_t index=0; index < node->GetNDevices (); index++)
     {
@@ -240,10 +240,10 @@
       // if (DynamicCast<LoopbackNetDevice> (device) != 0)
       //   continue; // don't create face for a LoopbackNetDevice
 
-      Ptr<CcnxNetDeviceFace> face = CreateObject<CcnxNetDeviceFace> (node, device);
+      Ptr<NdnNetDeviceFace> face = CreateObject<NdnNetDeviceFace> (node, device);
 
-      ccnx->AddFace (face);
-      NS_LOG_LOGIC ("Node " << node->GetId () << ": added CcnxNetDeviceFace as face #" << *face);
+      ndn->AddFace (face);
+      NS_LOG_LOGIC ("Node " << node->GetId () << ": added NdnNetDeviceFace as face #" << *face);
 
       if (m_needSetDefaultRoutes)
         {
@@ -282,8 +282,8 @@
   return faces;
 }
 
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (std::string nodeName) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (std::string nodeName) const
 {
   Ptr<Node> node = Names::Find<Node> (nodeName);
   return Install (node);
@@ -291,39 +291,39 @@
 
 
 void
-CcnxStackHelper::AddRoute (Ptr<Node> node, std::string prefix, Ptr<CcnxFace> face, int32_t metric)
+NdnStackHelper::AddRoute (Ptr<Node> node, std::string prefix, Ptr<NdnFace> face, int32_t metric)
 {
   NS_LOG_LOGIC ("[" << node->GetId () << "]$ route add " << prefix << " via " << *face << " metric " << metric);
 
-  Ptr<CcnxFib>  fib  = node->GetObject<CcnxFib> ();
+  Ptr<NdnFib>  fib  = node->GetObject<NdnFib> ();
 
-  CcnxNameComponentsValue prefixValue;
-  prefixValue.DeserializeFromString (prefix, MakeCcnxNameComponentsChecker ());
+  NdnNameComponentsValue prefixValue;
+  prefixValue.DeserializeFromString (prefix, MakeNdnNameComponentsChecker ());
   fib->Add (prefixValue.Get (), face, metric);
 }
 
 void
-CcnxStackHelper::AddRoute (Ptr<Node> node, std::string prefix, uint32_t faceId, int32_t metric)
+NdnStackHelper::AddRoute (Ptr<Node> node, std::string prefix, uint32_t faceId, int32_t metric)
 {
-  Ptr<Ccnx>     ccnx = node->GetObject<Ccnx> ();
-  NS_ASSERT_MSG (ccnx != 0, "Ccnx stack should be installed on the node");
+  Ptr<Ndn>     ndn = node->GetObject<Ndn> ();
+  NS_ASSERT_MSG (ndn != 0, "Ndn stack should be installed on the node");
 
-  Ptr<CcnxFace> face = ccnx->GetFace (faceId);
+  Ptr<NdnFace> face = ndn->GetFace (faceId);
   NS_ASSERT_MSG (face != 0, "Face with ID [" << faceId << "] does not exist on node [" << node->GetId () << "]");
 
   AddRoute (node, prefix, face, metric);
 }
 
 void
-CcnxStackHelper::AddRoute (std::string nodeName, std::string prefix, uint32_t faceId, int32_t metric)
+NdnStackHelper::AddRoute (std::string nodeName, std::string prefix, uint32_t faceId, int32_t metric)
 {
   Ptr<Node> node = Names::Find<Node> (nodeName);
   NS_ASSERT_MSG (node != 0, "Node [" << nodeName << "] does not exist");
   
-  Ptr<Ccnx>     ccnx = node->GetObject<Ccnx> ();
-  NS_ASSERT_MSG (ccnx != 0, "Ccnx stack should be installed on the node");
+  Ptr<Ndn>     ndn = node->GetObject<Ndn> ();
+  NS_ASSERT_MSG (ndn != 0, "Ndn stack should be installed on the node");
 
-  Ptr<CcnxFace> face = ccnx->GetFace (faceId);
+  Ptr<NdnFace> face = ndn->GetFace (faceId);
   NS_ASSERT_MSG (face != 0, "Face with ID [" << faceId << "] does not exist on node [" << nodeName << "]");
 
   AddRoute (node, prefix, face, metric);
diff --git a/helper/ccnx-stack-helper.h b/helper/ndn-stack-helper.h
similarity index 80%
rename from helper/ccnx-stack-helper.h
rename to helper/ndn-stack-helper.h
index ee0b547..0bd69ad 100644
--- a/helper/ccnx-stack-helper.h
+++ b/helper/ndn-stack-helper.h
@@ -19,8 +19,8 @@
  *          Ilya Moiseenko <iliamo@cs.ucla.edu> 
  */
 
-#ifndef CCNX_STACK_HELPER_H
-#define CCNX_STACK_HELPER_H
+#ifndef NDN_STACK_HELPER_H
+#define NDN_STACK_HELPER_H
 
 #include "ns3/packet.h"
 #include "ns3/ptr.h"
@@ -30,18 +30,18 @@
 namespace ns3 {
 
 class Node;
-class CcnxFaceContainer;
-class CcnxFace;
+class NdnFaceContainer;
+class NdnFace;
 
 /**
- * \ingroup ccnx
- * \defgroup ccnx-helpers Helpers
+ * \ingroup ndn
+ * \defgroup ndn-helpers Helpers
  */
 /**
- * \ingroup ccnx-helpers
- * \brief Adding CCNx functionality to existing Nodes.
+ * \ingroup ndn-helpers
+ * \brief Adding Ndn functionality to existing Nodes.
  *
- * This helper enables pcap and ascii tracing of events in the ccnx stack
+ * This helper enables pcap and ascii tracing of events in the ndn stack
  * associated with a node.  This is substantially similar to the tracing that
  * happens in device helpers, but the important difference is that, well, there
  * is no device.  This means that the creation of output file names will change,
@@ -49,29 +49,29 @@
  * the number of trace enable methods is reduced.
  *
  * Normally we eschew multiple inheritance, however, the classes
- * PcapUserHelperForCcnx and AsciiTraceUserHelperForCcnx are treated as
+ * PcapUserHelperForNdn and AsciiTraceUserHelperForNdn are treated as
  * "mixins".  A mixin is a self-contained class that encapsulates a general
  * attribute or a set of functionality that may be of interest to many other
  * classes.
  */
-class CcnxStackHelper 
+class NdnStackHelper 
 {
 public:
   /**
-   * \brief Create a new CcnxStackHelper with a default NDN_FLOODING forwarding stategy
+   * \brief Create a new NdnStackHelper with a default NDN_FLOODING forwarding stategy
    */
-  CcnxStackHelper();
+  NdnStackHelper();
   
   /**
-   * \brief Destroy the CcnxStackHelper
+   * \brief Destroy the NdnStackHelper
    */
-  virtual ~CcnxStackHelper ();
+  virtual ~NdnStackHelper ();
 
   /**
-   * @brief Set parameters of CcnxL3Protocol
+   * @brief Set parameters of NdnL3Protocol
    */
   void
-  SetCcnxAttributes (const std::string &attr1 = "", const std::string &value1 = "",
+  SetNdnAttributes (const std::string &attr1 = "", const std::string &value1 = "",
                      const std::string &attr2 = "", const std::string &value2 = "",
                      const std::string &attr3 = "", const std::string &value3 = "",
                      const std::string &attr4 = "", const std::string &value4 = "");
@@ -81,9 +81,9 @@
    * @brief Set forwarding strategy class and its attributes
    * @param forwardingStrategyClass string containing name of the forwarding strategy class
    *
-   * Valid options are "ns3::CcnxFloodingStrategy" (default) and "ns3::CcnxBestRouteStrategy"
+   * Valid options are "ns3::NdnFloodingStrategy" (default) and "ns3::NdnBestRouteStrategy"
    *
-   * Other strategies can be implemented, inheriting ns3::CcnxForwardingStrategy class
+   * Other strategies can be implemented, inheriting ns3::NdnForwardingStrategy class
    */
   void
   SetForwardingStrategy (const std::string &forwardingStrategyClass,
@@ -137,55 +137,55 @@
   EnableLimits (bool enable = true, Time avgRtt=Seconds(0.1), uint32_t avgContentObject=1100, uint32_t avgInterest=40);
   
   /**
-   * \brief Install CCNx stack on the node
+   * \brief Install Ndn stack on the node
    *
-   * This method will assert if called on a node that already has Ccnx object
+   * This method will assert if called on a node that already has Ndn object
    * installed on it
    * 
    * \param nodeName The name of the node on which to install the stack.
    *
    * \returns list of installed faces in the form of a smart pointer
-   * to CcnxFaceContainer object
+   * to NdnFaceContainer object
    */
-  Ptr<CcnxFaceContainer>
+  Ptr<NdnFaceContainer>
   Install (std::string nodeName) const;
 
   /**
-   * \brief Install CCNx stack on the node
+   * \brief Install Ndn stack on the node
    *
-   * This method will assert if called on a node that already has Ccnx object
+   * This method will assert if called on a node that already has Ndn object
    * installed on it
    * 
    * \param node The node on which to install the stack.
    *
    * \returns list of installed faces in the form of a smart pointer
-   * to CcnxFaceContainer object
+   * to NdnFaceContainer object
    */
-  Ptr<CcnxFaceContainer>
+  Ptr<NdnFaceContainer>
   Install (Ptr<Node> node) const;
 
   /**
-   * \brief Install CCNx stack on each node in the input container
+   * \brief Install Ndn stack on each node in the input container
    *
    * The program will assert if this method is called on a container with a node
-   * that already has an ccnx object aggregated to it.
+   * that already has an ndn object aggregated to it.
    * 
    * \param c NodeContainer that holds the set of nodes on which to install the
    * new stacks.
    *
    * \returns list of installed faces in the form of a smart pointer
-   * to CcnxFaceContainer object
+   * to NdnFaceContainer object
    */
-  Ptr<CcnxFaceContainer>
+  Ptr<NdnFaceContainer>
   Install (NodeContainer c) const;
 
   /**
-   * \brief Install CCNx stack on all nodes in the simulation
+   * \brief Install Ndn stack on all nodes in the simulation
    *
    * \returns list of installed faces in the form of a smart pointer
-   * to CcnxFaceContainer object
+   * to NdnFaceContainer object
    */
-  Ptr<CcnxFaceContainer>
+  Ptr<NdnFaceContainer>
   InstallAll () const;
 
   /**
@@ -219,7 +219,7 @@
    * \param metric Routing metric
    */
   static void
-  AddRoute (Ptr<Node> node, std::string prefix, Ptr<CcnxFace> face, int32_t metric);
+  AddRoute (Ptr<Node> node, std::string prefix, Ptr<NdnFace> face, int32_t metric);
 
   /**
    * \brief Set flag indicating necessity to install default routes in FIB
@@ -228,11 +228,11 @@
   SetDefaultRoutes (bool needSet);
 
 private:
-  CcnxStackHelper (const CcnxStackHelper &);
-  CcnxStackHelper &operator = (const CcnxStackHelper &o);
+  NdnStackHelper (const NdnStackHelper &);
+  NdnStackHelper &operator = (const NdnStackHelper &o);
   
 private:
-  ObjectFactory m_ccnxFactory;
+  ObjectFactory m_ndnFactory;
   ObjectFactory m_strategyFactory;
   ObjectFactory m_contentStoreFactory;
   ObjectFactory m_pitFactory;
@@ -247,4 +247,4 @@
 
 } // namespace ns3
 
-#endif /* CCNX_STACK_HELPER_H */
+#endif /* NDN_STACK_HELPER_H */