diff --git a/disabled/ccnb-parser/visitors/interest-visitor.cc b/disabled/ccnb-parser/visitors/interest-visitor.cc
index 175eaad..e7fe598 100644
--- a/disabled/ccnb-parser/visitors/interest-visitor.cc
+++ b/disabled/ccnb-parser/visitors/interest-visitor.cc
@@ -23,7 +23,7 @@
 #include "../syntax-tree/block.h"
 #include "../syntax-tree/dtag.h"
 
-#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-name.h"
 #include "ns3/ndn-interest-header.h"
 
 #include "ns3/assert.h"
@@ -52,7 +52,7 @@
   // std::list<Ptr<Block> > n.m_nestedBlocks;
 
   static NonNegativeIntegerVisitor nonNegativeIntegerVisitor;
-  static NameComponentsVisitor     nameComponentsVisitor;
+  static NameVisitor     nameComponentsVisitor;
   static TimestampVisitor          timestampVisitor;
   static Uint32tBlobVisitor        nonceVisitor;
   
@@ -74,7 +74,7 @@
         NS_LOG_DEBUG ("Name");
 
         // process name components
-        Ptr<NameComponents> name = Create<NameComponents> ();
+        Ptr<Name> name = Create<Name> ();
         
         BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
           {
@@ -107,7 +107,7 @@
       {
         NS_LOG_DEBUG ("Exclude");
         // process exclude components
-        Ptr<NameComponents> exclude = Create<NameComponents> ();
+        Ptr<Name> exclude = Create<Name> ();
         
         BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
           {
diff --git a/disabled/ccnb-parser/visitors/name-components-visitor.cc b/disabled/ccnb-parser/visitors/name-components-visitor.cc
index ef87281..ffb242e 100644
--- a/disabled/ccnb-parser/visitors/name-components-visitor.cc
+++ b/disabled/ccnb-parser/visitors/name-components-visitor.cc
@@ -23,20 +23,20 @@
 #include "string-visitor.h"
 #include "../syntax-tree/dtag.h"
 
-#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-name.h"
 
 namespace ns3 {
 namespace ndn {
 namespace CcnbParser {
 
 void
-NameComponentsVisitor::visit (Dtag &n, boost::any param/*should be NameComponents* */)
+NameVisitor::visit (Dtag &n, boost::any param/*should be Name* */)
 {
   // uint32_t n.m_dtag;
   // std::list<Ptr<Block> > n.m_nestedBlocks;
   static StringVisitor stringVisitor; 
  
-  NameComponents &components = *(boost::any_cast<NameComponents*> (param));
+  Name &components = *(boost::any_cast<Name*> (param));
 
   switch (n.m_dtag)
     {
diff --git a/disabled/ccnb-parser/visitors/name-components-visitor.h b/disabled/ccnb-parser/visitors/name-components-visitor.h
index 823de35..332d95d 100644
--- a/disabled/ccnb-parser/visitors/name-components-visitor.h
+++ b/disabled/ccnb-parser/visitors/name-components-visitor.h
@@ -29,12 +29,12 @@
 
 /**
  * \ingroup ccnx-ccnb
- * \brief Visitor to obtain fill CcnxNameComponents object with name components
+ * \brief Visitor to obtain fill CcnxName object with name components
  */
-class NameComponentsVisitor : public VoidDepthFirstVisitor
+class NameVisitor : public VoidDepthFirstVisitor
 {
 public:
-  virtual void visit (Dtag &n, boost::any param/*should be CcnxNameComponents* */);
+  virtual void visit (Dtag &n, boost::any param/*should be CcnxName* */);
 };
 
 }
