src: Global renaming ContentObject -> Data
diff --git a/apps/ndn-app.cc b/apps/ndn-app.cc
index 35db66e..ec4377e 100644
--- a/apps/ndn-app.cc
+++ b/apps/ndn-app.cc
@@ -51,14 +51,14 @@
     .AddTraceSource ("ReceivedNacks", "ReceivedNacks",
                     MakeTraceSourceAccessor (&App::m_receivedNacks))
     
-    .AddTraceSource ("ReceivedContentObjects", "ReceivedContentObjects",
-                    MakeTraceSourceAccessor (&App::m_receivedContentObjects))
+    .AddTraceSource ("ReceivedDatas", "ReceivedDatas",
+                    MakeTraceSourceAccessor (&App::m_receivedDatas))
 
     .AddTraceSource ("TransmittedInterests", "TransmittedInterests",
                     MakeTraceSourceAccessor (&App::m_transmittedInterests))
 
-    .AddTraceSource ("TransmittedContentObjects", "TransmittedContentObjects",
-                    MakeTraceSourceAccessor (&App::m_transmittedContentObjects))
+    .AddTraceSource ("TransmittedDatas", "TransmittedDatas",
+                    MakeTraceSourceAccessor (&App::m_transmittedDatas))
     ;
   return tid;
 }
@@ -108,10 +108,10 @@
 }
 
 void
-App::OnContentObject (Ptr<const ContentObject> contentObject)
+App::OnData (Ptr<const Data> contentObject)
 {
   NS_LOG_FUNCTION (this << contentObject);
-  m_receivedContentObjects (contentObject, this, m_face);
+  m_receivedDatas (contentObject, this, m_face);
 }
 
 // Application Methods
diff --git a/apps/ndn-app.h b/apps/ndn-app.h
index bbe5668..2157a7f 100644
--- a/apps/ndn-app.h
+++ b/apps/ndn-app.h
@@ -33,7 +33,7 @@
 namespace ndn {
 
 class Interest;
-class ContentObject;
+class Data;
 
 class Face;
 
@@ -45,7 +45,7 @@
  * @ingroup ndn-apps
  * @brief Base class that all NDN applications should be derived from.
  * 
- * The class implements virtual calls onInterest, onNack, and onContentObject
+ * The class implements virtual calls onInterest, onNack, and onData
  */
 class App: public Application
 {
@@ -81,12 +81,12 @@
   OnNack (Ptr<const Interest> interest);
   
   /**
-   * @brief Method that will be called every time new ContentObject arrives
-   * @param contentObject ContentObject header
-   * @param payload payload (potentially virtual) of the ContentObject packet (may include packet tags of original packet)
+   * @brief Method that will be called every time new Data arrives
+   * @param contentObject Data header
+   * @param payload payload (potentially virtual) of the Data packet (may include packet tags of original packet)
    */
   virtual void
-  OnContentObject (Ptr<const ContentObject> contentObject);
+  OnData (Ptr<const Data> contentObject);
   
 protected:
   /**
@@ -112,15 +112,15 @@
   TracedCallback<Ptr<const Interest>,
                  Ptr<App>, Ptr<Face> > m_receivedNacks; ///< @brief App-level trace of received NACKs
 
-  TracedCallback<Ptr<const ContentObject>,
-                 Ptr<App>, Ptr<Face> > m_receivedContentObjects; ///< @brief App-level trace of received Data
+  TracedCallback<Ptr<const Data>,
+                 Ptr<App>, Ptr<Face> > m_receivedDatas; ///< @brief App-level trace of received Data
 
 
   TracedCallback<Ptr<const Interest>,
                  Ptr<App>, Ptr<Face> > m_transmittedInterests; ///< @brief App-level trace of transmitted Interests
 
-  TracedCallback<Ptr<const ContentObject>,
-                 Ptr<App>, Ptr<Face> > m_transmittedContentObjects; ///< @brief App-level trace of transmitted Data
+  TracedCallback<Ptr<const Data>,
+                 Ptr<App>, Ptr<Face> > m_transmittedDatas; ///< @brief App-level trace of transmitted Data
 };
 
 } // namespace ndn
diff --git a/apps/ndn-consumer-batches.h b/apps/ndn-consumer-batches.h
index 23a75c9..2871bf2 100644
--- a/apps/ndn-consumer-batches.h
+++ b/apps/ndn-consumer-batches.h
@@ -50,7 +50,7 @@
   // OnNack (const Ptr<const Interest> &interest);
 
   // virtual void
-  // OnContentObject (const Ptr<const ContentObject> &contentObject,
+  // OnData (const Ptr<const Data> &contentObject,
   //                  const Ptr<const Packet> &payload);
 
   // virtual void
diff --git a/apps/ndn-consumer-cbr.cc b/apps/ndn-consumer-cbr.cc
index 9a0a638..77fe130 100644
--- a/apps/ndn-consumer-cbr.cc
+++ b/apps/ndn-consumer-cbr.cc
@@ -138,10 +138,10 @@
 ///////////////////////////////////////////////////
 
 // void
-// Consumer::OnContentObject (const Ptr<const ContentObject> &contentObject,
+// Consumer::OnData (const Ptr<const Data> &contentObject,
 //                                const Ptr<const Packet> &payload)
 // {
-//   Consumer::OnContentObject (contentObject, payload); // tracing inside
+//   Consumer::OnData (contentObject, payload); // tracing inside
 // }
 
 // void
diff --git a/apps/ndn-consumer-cbr.h b/apps/ndn-consumer-cbr.h
index 7076e7d..0f875c8 100644
--- a/apps/ndn-consumer-cbr.h
+++ b/apps/ndn-consumer-cbr.h
@@ -51,7 +51,7 @@
   // OnNack (const Ptr<const Interest> &interest);
 
   // virtual void
-  // OnContentObject (const Ptr<const ContentObject> &contentObject,
+  // OnData (const Ptr<const Data> &contentObject,
   //                  const Ptr<const Packet> &payload);
 
 protected:
diff --git a/apps/ndn-consumer-window.cc b/apps/ndn-consumer-window.cc
index ae4a0c9..2a87ef6 100644
--- a/apps/ndn-consumer-window.cc
+++ b/apps/ndn-consumer-window.cc
@@ -186,9 +186,9 @@
 ///////////////////////////////////////////////////
 
 void
-ConsumerWindow::OnContentObject (Ptr<const ContentObject> contentObject)
+ConsumerWindow::OnData (Ptr<const Data> contentObject)
 {
-  Consumer::OnContentObject (contentObject);
+  Consumer::OnData (contentObject);
 
   m_window = m_window + 1;
 
diff --git a/apps/ndn-consumer-window.h b/apps/ndn-consumer-window.h
index 1064f54..79211e5 100644
--- a/apps/ndn-consumer-window.h
+++ b/apps/ndn-consumer-window.h
@@ -53,7 +53,7 @@
   OnNack (Ptr<const Interest> interest);
 
   virtual void
-  OnContentObject (Ptr<const ContentObject> contentObject);
+  OnData (Ptr<const Data> contentObject);
 
   virtual void
   OnTimeout (uint32_t sequenceNumber);
diff --git a/apps/ndn-consumer.cc b/apps/ndn-consumer.cc
index 619e2f1..d6eb389 100644
--- a/apps/ndn-consumer.cc
+++ b/apps/ndn-consumer.cc
@@ -223,11 +223,11 @@
 
 
 void
-Consumer::OnContentObject (Ptr<const ContentObject> data)
+Consumer::OnData (Ptr<const Data> data)
 {
   if (!m_active) return;
 
-  App::OnContentObject (data); // tracing inside
+  App::OnData (data); // tracing inside
 
   NS_LOG_FUNCTION (this << data);
 
diff --git a/apps/ndn-consumer.h b/apps/ndn-consumer.h
index baa6ba3..eea5fda 100644
--- a/apps/ndn-consumer.h
+++ b/apps/ndn-consumer.h
@@ -64,7 +64,7 @@
   OnNack (Ptr<const Interest> interest);
 
   virtual void
-  OnContentObject (Ptr<const ContentObject> contentObject);
+  OnData (Ptr<const Data> contentObject);
 
   /**
    * @brief Timeout event
diff --git a/apps/ndn-producer.cc b/apps/ndn-producer.cc
index e224841..e8bf98c 100644
--- a/apps/ndn-producer.cc
+++ b/apps/ndn-producer.cc
@@ -127,7 +127,7 @@
 
   if (!m_active) return;
 
-  Ptr<ContentObject> data = Create<ContentObject> (Create<Packet> (m_virtualPayloadSize));
+  Ptr<Data> data = Create<Data> (Create<Packet> (m_virtualPayloadSize));
   Ptr<Name> dataName = Create<Name> (interest->GetName ());
   dataName->append (m_postfix);
   data->SetName (dataName);
@@ -139,7 +139,7 @@
       data->SetKeyLocator (Create<Name> (m_keyLocator));
     }
 
-  NS_LOG_INFO ("node("<< GetNode()->GetId() <<") respodning with ContentObject: " << data->GetName ());
+  NS_LOG_INFO ("node("<< GetNode()->GetId() <<") respodning with Data: " << data->GetName ());
 
   // Echo back FwHopCountTag if exists
   FwHopCountTag hopCountTag;
@@ -149,7 +149,7 @@
     }
 
   m_face->ReceiveData (data);
-  m_transmittedContentObjects (data, this, m_face);
+  m_transmittedDatas (data, this, m_face);
 }
 
 } // namespace ndn
diff --git a/bindings/callbacks_list.py b/bindings/callbacks_list.py
index 9a15f16..e485155 100644
--- a/bindings/callbacks_list.py
+++ b/bindings/callbacks_list.py
@@ -2,8 +2,8 @@
     ['void', 'ns3::Ptr<ns3::ndn::Name const>', 'ns3::Ptr<ns3::ndn::Interest const>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     ['void', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     ['void', 'ns3::Ptr<ns3::ndn::Interest const>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
-    ['void', 'ns3::Ptr<ns3::ndn::Interest const>', 'ns3::Ptr<ns3::ndn::ContentObject const>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
-    ['void', 'ns3::Ptr<ns3::ndn::Face>', 'ns3::Ptr<ns3::ndn::ContentObject>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+    ['void', 'ns3::Ptr<ns3::ndn::Interest const>', 'ns3::Ptr<ns3::ndn::Data const>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+    ['void', 'ns3::Ptr<ns3::ndn::Face>', 'ns3::Ptr<ns3::ndn::Data>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     ['void', 'ns3::Ptr<ns3::ndn::Face>', 'ns3::Ptr<ns3::ndn::Interest>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     ['void', 'ns3::Ptr<ns3::Application>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     ['void', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
diff --git a/bindings/modulegen__gcc_ILP32.py b/bindings/modulegen__gcc_ILP32.py
index 83bd1ad..94f3f2a 100644
--- a/bindings/modulegen__gcc_ILP32.py
+++ b/bindings/modulegen__gcc_ILP32.py
@@ -178,8 +178,8 @@
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::TopologyReader', 'ns3::empty', 'ns3::DefaultDeleter<ns3::TopologyReader>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> > [class]
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::TraceSourceAccessor', 'ns3::empty', 'ns3::DefaultDeleter<ns3::TraceSourceAccessor>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> > [class]
-    module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::ContentObject', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::ContentObject>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> > [class]
+    module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::Data', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::Data>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Exclude, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Exclude> > [class]
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::Exclude', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::Exclude>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::FaceContainer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::FaceContainer> > [class]
@@ -374,10 +374,10 @@
     module.add_class('AppHelper')
     ## blob.h (module 'ndnSIM'): ns3::ndn::Blob [class]
     module.add_class('Blob')
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject [class]
-    module.add_class('ContentObject', parent=root_module['ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >'])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException [class]
-    module.add_class('ContentObjectException')
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data [class]
+    module.add_class('Data', parent=root_module['ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >'])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException [class]
+    module.add_class('DataException')
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::ContentStore [class]
     module.add_class('ContentStore', parent=root_module['ns3::Object'])
     ## exclude.h (module 'ndnSIM'): ns3::ndn::Exclude [class]
@@ -441,10 +441,10 @@
     module.add_container('std::vector< char >', 'char', container_type='vector')
     module.add_container('std::map< ns3::ndn::name::Component, bool, std::greater< ns3::ndn::name::Component >, std::allocator< std::pair< ns3::ndn::name::Component const, bool > > >', ('ns3::ndn::name::Component', 'bool'), container_type='map')
     module.add_container('std::vector< ns3::Ptr< ns3::ndn::Face > >', 'ns3::Ptr< ns3::ndn::Face >', container_type='vector')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject', 'ns3::ndn::ContentObjectHeader')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject*', 'ns3::ndn::ContentObjectHeader*')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject&', 'ns3::ndn::ContentObjectHeader&')
-    module.add_typedef(root_module['ns3::ndn::ContentObject'], 'ContentObjectHeader')
+    typehandlers.add_type_alias('ns3::ndn::Data', 'ns3::ndn::DataHeader')
+    typehandlers.add_type_alias('ns3::ndn::Data*', 'ns3::ndn::DataHeader*')
+    typehandlers.add_type_alias('ns3::ndn::Data&', 'ns3::ndn::DataHeader&')
+    module.add_typedef(root_module['ns3::ndn::Data'], 'DataHeader')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >', 'ns3::ndn::RttHistory_t')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >*', 'ns3::ndn::RttHistory_t*')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >&', 'ns3::ndn::RttHistory_t&')
@@ -628,7 +628,7 @@
     register_Ns3SimpleRefCount__Ns3Packet_Ns3Empty_Ns3DefaultDeleter__lt__ns3Packet__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter<ns3::Packet> >'])
     register_Ns3SimpleRefCount__Ns3TopologyReader_Ns3Empty_Ns3DefaultDeleter__lt__ns3TopologyReader__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::TopologyReader, ns3::empty, ns3::DefaultDeleter<ns3::TopologyReader> >'])
     register_Ns3SimpleRefCount__Ns3TraceSourceAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3TraceSourceAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> >'])
-    register_Ns3SimpleRefCount__Ns3NdnContentObject_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnContentObject__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >'])
+    register_Ns3SimpleRefCount__Ns3NdnData_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnData__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >'])
     register_Ns3SimpleRefCount__Ns3NdnExclude_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnExclude__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Exclude, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Exclude> >'])
     register_Ns3SimpleRefCount__Ns3NdnFaceContainer_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnFaceContainer__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::FaceContainer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::FaceContainer> >'])
     register_Ns3SimpleRefCount__Ns3NdnInterest_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnInterest__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Interest, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Interest> >'])
@@ -688,8 +688,8 @@
     register_Ns3NdnApp_methods(root_module, root_module['ns3::ndn::App'])
     register_Ns3NdnAppHelper_methods(root_module, root_module['ns3::ndn::AppHelper'])
     register_Ns3NdnBlob_methods(root_module, root_module['ns3::ndn::Blob'])
-    register_Ns3NdnContentObject_methods(root_module, root_module['ns3::ndn::ContentObject'])
-    register_Ns3NdnContentObjectException_methods(root_module, root_module['ns3::ndn::ContentObjectException'])
+    register_Ns3NdnData_methods(root_module, root_module['ns3::ndn::Data'])
+    register_Ns3NdnDataException_methods(root_module, root_module['ns3::ndn::DataException'])
     register_Ns3NdnContentStore_methods(root_module, root_module['ns3::ndn::ContentStore'])
     register_Ns3NdnExclude_methods(root_module, root_module['ns3::ndn::Exclude'])
     register_Ns3NdnFace_methods(root_module, root_module['ns3::ndn::Face'])
@@ -3250,12 +3250,12 @@
                    is_static=True)
     return
 
-def register_Ns3SimpleRefCount__Ns3NdnContentObject_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnContentObject__gt___methods(root_module, cls):
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::SimpleRefCount() [constructor]
+def register_Ns3SimpleRefCount__Ns3NdnData_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnData__gt___methods(root_module, cls):
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::SimpleRefCount() [constructor]
     cls.add_constructor([])
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::SimpleRefCount(ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> > const & o) [copy constructor]
-    cls.add_constructor([param('ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter< ns3::ndn::ContentObject > > const &', 'o')])
-    ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::Cleanup() [member function]
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::SimpleRefCount(ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> > const & o) [copy constructor]
+    cls.add_constructor([param('ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter< ns3::ndn::Data > > const &', 'o')])
+    ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::Cleanup() [member function]
     cls.add_method('Cleanup', 
                    'void', 
                    [], 
@@ -5169,10 +5169,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnContentObject(ns3::Ptr<ns3::ndn::ContentObject const> contentObject) [member function]
-    cls.add_method('OnContentObject', 
+    ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnData(ns3::Ptr<ns3::ndn::Data const> contentObject) [member function]
+    cls.add_method('OnData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'contentObject')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'contentObject')], 
                    is_virtual=True)
     ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('OnInterest', 
@@ -5298,97 +5298,97 @@
                    [param('ns3::ndn::Blob &', 'x')])
     return
 
-def register_Ns3NdnContentObject_methods(root_module, cls):
+def register_Ns3NdnData_methods(root_module, cls):
     cls.add_output_stream_operator()
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject::ContentObject(ns3::Ptr<ns3::Packet> payload=ns3::Create( )) [constructor]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data::Data(ns3::Ptr<ns3::Packet> payload=ns3::Create( )) [constructor]
     cls.add_constructor([param('ns3::Ptr< ns3::Packet >', 'payload', default_value='ns3::Create( )')])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject::ContentObject(ns3::ndn::ContentObject const & other) [copy constructor]
-    cls.add_constructor([param('ns3::ndn::ContentObject const &', 'other')])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::ContentObject::GetFreshness() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data::Data(ns3::ndn::Data const & other) [copy constructor]
+    cls.add_constructor([param('ns3::ndn::Data const &', 'other')])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::Data::GetFreshness() const [member function]
     cls.add_method('GetFreshness', 
                    'ns3::Time', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::ContentObject::GetKeyLocator() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::Data::GetKeyLocator() const [member function]
     cls.add_method('GetKeyLocator', 
                    'ns3::Ptr< ns3::ndn::Name const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::ContentObject::GetName() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::Data::GetName() const [member function]
     cls.add_method('GetName', 
                    'ns3::ndn::Name const &', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::ContentObject::GetNamePtr() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::Data::GetNamePtr() const [member function]
     cls.add_method('GetNamePtr', 
                    'ns3::Ptr< ns3::ndn::Name const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::ContentObject::GetPayload() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::Data::GetPayload() const [member function]
     cls.add_method('GetPayload', 
                    'ns3::Ptr< ns3::Packet const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): uint32_t ns3::ndn::ContentObject::GetSignature() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): uint32_t ns3::ndn::Data::GetSignature() const [member function]
     cls.add_method('GetSignature', 
                    'uint32_t', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::ContentObject::GetTimestamp() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::Data::GetTimestamp() const [member function]
     cls.add_method('GetTimestamp', 
                    'ns3::Time', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::ContentObject::GetWire() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::Data::GetWire() const [member function]
     cls.add_method('GetWire', 
                    'ns3::Ptr< ns3::Packet const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::Print(std::ostream & os) const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
                    'void', 
                    [param('std::ostream &', 'os')], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetFreshness(ns3::Time const & freshness) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetFreshness(ns3::Time const & freshness) [member function]
     cls.add_method('SetFreshness', 
                    'void', 
                    [param('ns3::Time const &', 'freshness')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetKeyLocator(ns3::Ptr<ns3::ndn::Name> keyLocator) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetKeyLocator(ns3::Ptr<ns3::ndn::Name> keyLocator) [member function]
     cls.add_method('SetKeyLocator', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name >', 'keyLocator')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetName(ns3::Ptr<ns3::ndn::Name> name) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetName(ns3::Ptr<ns3::ndn::Name> name) [member function]
     cls.add_method('SetName', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name >', 'name')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetName(ns3::ndn::Name const & name) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetName(ns3::ndn::Name const & name) [member function]
     cls.add_method('SetName', 
                    'void', 
                    [param('ns3::ndn::Name const &', 'name')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetPayload(ns3::Ptr<ns3::Packet> payload) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetPayload(ns3::Ptr<ns3::Packet> payload) [member function]
     cls.add_method('SetPayload', 
                    'void', 
                    [param('ns3::Ptr< ns3::Packet >', 'payload')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetSignature(uint32_t signature) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetSignature(uint32_t signature) [member function]
     cls.add_method('SetSignature', 
                    'void', 
                    [param('uint32_t', 'signature')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetTimestamp(ns3::Time const & timestamp) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetTimestamp(ns3::Time const & timestamp) [member function]
     cls.add_method('SetTimestamp', 
                    'void', 
                    [param('ns3::Time const &', 'timestamp')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetWire(ns3::Ptr<ns3::Packet const> packet) const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetWire(ns3::Ptr<ns3::Packet const> packet) const [member function]
     cls.add_method('SetWire', 
                    'void', 
                    [param('ns3::Ptr< ns3::Packet const >', 'packet')], 
                    is_const=True)
     return
 
-def register_Ns3NdnContentObjectException_methods(root_module, cls):
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException::ContentObjectException() [constructor]
+def register_Ns3NdnDataException_methods(root_module, cls):
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException::DataException() [constructor]
     cls.add_constructor([])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException::ContentObjectException(ns3::ndn::ContentObjectException const & arg0) [copy constructor]
-    cls.add_constructor([param('ns3::ndn::ContentObjectException const &', 'arg0')])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException::DataException(ns3::ndn::DataException const & arg0) [copy constructor]
+    cls.add_constructor([param('ns3::ndn::DataException const &', 'arg0')])
     return
 
 def register_Ns3NdnContentStore_methods(root_module, cls):
@@ -5397,10 +5397,10 @@
     cls.add_constructor([])
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::ContentStore::ContentStore(ns3::ndn::ContentStore const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::ContentStore const &', 'arg0')])
-    ## ndn-content-store.h (module 'ndnSIM'): bool ns3::ndn::ContentStore::Add(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): bool ns3::ndn::ContentStore::Add(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('Add', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::cs::Entry> ns3::ndn::ContentStore::Begin() [member function]
     cls.add_method('Begin', 
@@ -5427,9 +5427,9 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::ContentStore::Lookup(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Data> ns3::ndn::ContentStore::Lookup(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('Lookup', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::cs::Entry> ns3::ndn::ContentStore::Next(ns3::Ptr<ns3::ndn::cs::Entry> arg0) [member function]
@@ -5544,25 +5544,25 @@
                    'std::ostream &', 
                    [param('std::ostream &', 'os')], 
                    is_const=True, is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveData(ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveData(ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('ReceiveData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data >', 'data')], 
                    is_virtual=True)
     ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveInterest(ns3::Ptr<ns3::ndn::Interest> interest) [member function]
     cls.add_method('ReceiveInterest', 
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest >', 'interest')], 
                    is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): void ns3::ndn::Face::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::ContentObject>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
+    ## ndn-face.h (module 'ndnSIM'): void ns3::ndn::Face::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Data>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
     cls.add_method('RegisterProtocolHandlers', 
                    'void', 
-                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::ContentObject >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
+                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Data >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
                    is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('SendInterest', 
@@ -5759,10 +5759,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnData(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnData(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('OnData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'face'), param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'face'), param('ns3::Ptr< ns3::ndn::Data >', 'data')], 
                    is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnInterest(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::Interest> interest) [member function]
     cls.add_method('OnInterest', 
@@ -5814,20 +5814,20 @@
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Interest const >', 'interest'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveSolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, bool didCreateCacheEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveSolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, bool didCreateCacheEntry) [member function]
     cls.add_method('DidReceiveSolicitedData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('bool', 'didCreateCacheEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('bool', 'didCreateCacheEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveUnsolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, bool didCreateCacheEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveUnsolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, bool didCreateCacheEntry) [member function]
     cls.add_method('DidReceiveUnsolicitedData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('bool', 'didCreateCacheEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('bool', 'didCreateCacheEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::ContentObject const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::Data const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('DidSendOutData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Face >', 'outFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Face >', 'outFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::Interest const> interest, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('DidSendOutInterest', 
@@ -5864,10 +5864,10 @@
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Interest const >', 'interest'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::SatisfyPendingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::SatisfyPendingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('SatisfyPendingInterest', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): bool ns3::ndn::ForwardingStrategy::ShouldSuppressIncomingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Interest const> interest, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('ShouldSuppressIncomingInterest', 
@@ -6444,10 +6444,10 @@
                    is_static=True)
     ## ndn-net-device-face.h (module 'ndnSIM'): ns3::ndn::NetDeviceFace::NetDeviceFace(ns3::Ptr<ns3::Node> node, ns3::Ptr<ns3::NetDevice> const & netDevice) [constructor]
     cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::Ptr< ns3::NetDevice > const &', 'netDevice')])
-    ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::ContentObject>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
+    ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Data>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
     cls.add_method('RegisterProtocolHandlers', 
                    'void', 
-                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::ContentObject >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
+                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Data >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
                    is_virtual=True)
     ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::UnRegisterProtocolHandlers() [member function]
     cls.add_method('UnRegisterProtocolHandlers', 
@@ -6517,10 +6517,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::ContentObject const & header) [member function]
+    ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::Data const & header) [member function]
     cls.add_method('Lookup', 
                    'ns3::Ptr< ns3::ndn::pit::Entry >', 
-                   [param('ns3::ndn::ContentObject const &', 'header')], 
+                   [param('ns3::ndn::Data const &', 'header')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::Interest const & header) [member function]
     cls.add_method('Lookup', 
@@ -6687,10 +6687,10 @@
     cls.add_method('RemoveNetDeviceFaceCreateCallback', 
                    'void', 
                    [param('ns3::TypeId', 'netDeviceType'), param('ns3::Callback< ns3::Ptr< ns3::ndn::NetDeviceFace >, ns3::Ptr< ns3::Node >, ns3::Ptr< ns3::ndn::L3Protocol >, ns3::Ptr< ns3::NetDevice >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
-    ## ndn-stack-helper.h (module 'ndnSIM'): void ns3::ndn::StackHelper::EnableLimits(bool enable=true, ns3::Time avgRtt=ns3::Seconds( ), uint32_t avgContentObject=1100, uint32_t avgInterest=40) [member function]
+    ## ndn-stack-helper.h (module 'ndnSIM'): void ns3::ndn::StackHelper::EnableLimits(bool enable=true, ns3::Time avgRtt=ns3::Seconds( ), uint32_t avgData=1100, uint32_t avgInterest=40) [member function]
     cls.add_method('EnableLimits', 
                    'void', 
-                   [param('bool', 'enable', default_value='true'), param('ns3::Time', 'avgRtt', default_value='ns3::Seconds(0)'), param('uint32_t', 'avgContentObject', default_value='1100'), param('uint32_t', 'avgInterest', default_value='40')])
+                   [param('bool', 'enable', default_value='true'), param('ns3::Time', 'avgRtt', default_value='ns3::Seconds(0)'), param('uint32_t', 'avgData', default_value='1100'), param('uint32_t', 'avgInterest', default_value='40')])
     ## ndn-stack-helper.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::FaceContainer> ns3::ndn::StackHelper::Install(std::string const & nodeName) const [member function]
     cls.add_method('Install', 
                    'ns3::Ptr< ns3::ndn::FaceContainer >', 
@@ -6754,15 +6754,15 @@
     cls.add_constructor([])
     ## ndn-wire.h (module 'ndnSIM'): ns3::ndn::Wire::Wire(ns3::ndn::Wire const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::Wire const &', 'arg0')])
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromData(ns3::Ptr<ns3::ndn::ContentObject const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromData(ns3::Ptr<ns3::ndn::Data const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromData', 
                    'ns3::Ptr< ns3::Packet >', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static std::string ns3::ndn::Wire::FromDataStr(ns3::Ptr<ns3::ndn::ContentObject const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static std::string ns3::ndn::Wire::FromDataStr(ns3::Ptr<ns3::ndn::Data const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromDataStr', 
                    'std::string', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
     ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromInterest(ns3::Ptr<ns3::ndn::Interest const> interest, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromInterest', 
@@ -6779,14 +6779,14 @@
                    'std::string', 
                    [param('ns3::Ptr< ns3::ndn::Name const >', 'name'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::Wire::ToData(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Data> ns3::ndn::Wire::ToData(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
     cls.add_method('ToData', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('ns3::Ptr< ns3::Packet >', 'packet'), param('int8_t', 'type', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::Wire::ToDataStr(std::string const & wire, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Data> ns3::ndn::Wire::ToDataStr(std::string const & wire, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
     cls.add_method('ToDataStr', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('std::string const &', 'wire'), param('int8_t', 'type', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)')], 
                    is_static=True)
     ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Interest> ns3::ndn::Wire::ToInterest(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
@@ -6814,10 +6814,10 @@
                    'void', 
                    [], 
                    is_virtual=True)
-    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::ExpressInterest(ns3::Ptr<ns3::ndn::Interest> interest, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::Ptr<ns3::ndn::ContentObject const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onData, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onTimeout) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::ExpressInterest(ns3::Ptr<ns3::ndn::Interest> interest, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::Ptr<ns3::ndn::Data const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onData, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onTimeout) [member function]
     cls.add_method('ExpressInterest', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Interest >', 'interest'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::Ptr< ns3::ndn::ContentObject const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onData'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onTimeout')])
+                   [param('ns3::Ptr< ns3::ndn::Interest >', 'interest'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::Ptr< ns3::ndn::Data const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onData'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onTimeout')])
     ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::SetInterestFilter(ns3::Ptr<ns3::ndn::Name const> prefix, ns3::Callback<void, ns3::Ptr<ns3::ndn::Name const>, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onInterest) [member function]
     cls.add_method('SetInterestFilter', 
                    'void', 
@@ -6826,19 +6826,19 @@
     cls.add_method('ClearInterestFilter', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name const >', 'prefix')])
-    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::Put(ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::Put(ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('Put', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')])
+                   [param('ns3::Ptr< ns3::ndn::Data >', 'data')])
     ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('SendInterest', 
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_virtual=True)
-    ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-api-face.h (module 'ndnSIM'): std::ostream & ns3::ndn::ApiFace::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
@@ -6860,10 +6860,10 @@
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_virtual=True)
-    ## ndn-app-face.h (module 'ndnSIM'): bool ns3::ndn::AppFace::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-app-face.h (module 'ndnSIM'): bool ns3::ndn::AppFace::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-app-face.h (module 'ndnSIM'): std::ostream & ns3::ndn::AppFace::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
@@ -6875,15 +6875,15 @@
 def register_Ns3NdnCsEntry_methods(root_module, cls):
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::ndn::cs::Entry const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::cs::Entry const &', 'arg0')])
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentStore> cs, ns3::Ptr<ns3::ndn::ContentObject const> data) [constructor]
-    cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentStore >', 'cs'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')])
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentStore> cs, ns3::Ptr<ns3::ndn::Data const> data) [constructor]
+    cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentStore >', 'cs'), param('ns3::Ptr< ns3::ndn::Data const >', 'data')])
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentStore> ns3::ndn::cs::Entry::GetContentStore() [member function]
     cls.add_method('GetContentStore', 
                    'ns3::Ptr< ns3::ndn::ContentStore >', 
                    [])
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentObject const> ns3::ndn::cs::Entry::GetData() const [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Data const> ns3::ndn::cs::Entry::GetData() const [member function]
     cls.add_method('GetData', 
-                   'ns3::Ptr< ns3::ndn::ContentObject const >', 
+                   'ns3::Ptr< ns3::ndn::Data const >', 
                    [], 
                    is_const=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::cs::Entry::GetName() const [member function]
diff --git a/bindings/modulegen__gcc_LP64.py b/bindings/modulegen__gcc_LP64.py
index 83bd1ad..94f3f2a 100644
--- a/bindings/modulegen__gcc_LP64.py
+++ b/bindings/modulegen__gcc_LP64.py
@@ -178,8 +178,8 @@
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::TopologyReader', 'ns3::empty', 'ns3::DefaultDeleter<ns3::TopologyReader>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> > [class]
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::TraceSourceAccessor', 'ns3::empty', 'ns3::DefaultDeleter<ns3::TraceSourceAccessor>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> > [class]
-    module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::ContentObject', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::ContentObject>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> > [class]
+    module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::Data', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::Data>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Exclude, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Exclude> > [class]
     module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::ndn::Exclude', 'ns3::empty', 'ns3::DefaultDeleter<ns3::ndn::Exclude>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
     ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::FaceContainer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::FaceContainer> > [class]
@@ -374,10 +374,10 @@
     module.add_class('AppHelper')
     ## blob.h (module 'ndnSIM'): ns3::ndn::Blob [class]
     module.add_class('Blob')
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject [class]
-    module.add_class('ContentObject', parent=root_module['ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >'])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException [class]
-    module.add_class('ContentObjectException')
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data [class]
+    module.add_class('Data', parent=root_module['ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >'])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException [class]
+    module.add_class('DataException')
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::ContentStore [class]
     module.add_class('ContentStore', parent=root_module['ns3::Object'])
     ## exclude.h (module 'ndnSIM'): ns3::ndn::Exclude [class]
@@ -441,10 +441,10 @@
     module.add_container('std::vector< char >', 'char', container_type='vector')
     module.add_container('std::map< ns3::ndn::name::Component, bool, std::greater< ns3::ndn::name::Component >, std::allocator< std::pair< ns3::ndn::name::Component const, bool > > >', ('ns3::ndn::name::Component', 'bool'), container_type='map')
     module.add_container('std::vector< ns3::Ptr< ns3::ndn::Face > >', 'ns3::Ptr< ns3::ndn::Face >', container_type='vector')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject', 'ns3::ndn::ContentObjectHeader')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject*', 'ns3::ndn::ContentObjectHeader*')
-    typehandlers.add_type_alias('ns3::ndn::ContentObject&', 'ns3::ndn::ContentObjectHeader&')
-    module.add_typedef(root_module['ns3::ndn::ContentObject'], 'ContentObjectHeader')
+    typehandlers.add_type_alias('ns3::ndn::Data', 'ns3::ndn::DataHeader')
+    typehandlers.add_type_alias('ns3::ndn::Data*', 'ns3::ndn::DataHeader*')
+    typehandlers.add_type_alias('ns3::ndn::Data&', 'ns3::ndn::DataHeader&')
+    module.add_typedef(root_module['ns3::ndn::Data'], 'DataHeader')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >', 'ns3::ndn::RttHistory_t')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >*', 'ns3::ndn::RttHistory_t*')
     typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >&', 'ns3::ndn::RttHistory_t&')
@@ -628,7 +628,7 @@
     register_Ns3SimpleRefCount__Ns3Packet_Ns3Empty_Ns3DefaultDeleter__lt__ns3Packet__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter<ns3::Packet> >'])
     register_Ns3SimpleRefCount__Ns3TopologyReader_Ns3Empty_Ns3DefaultDeleter__lt__ns3TopologyReader__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::TopologyReader, ns3::empty, ns3::DefaultDeleter<ns3::TopologyReader> >'])
     register_Ns3SimpleRefCount__Ns3TraceSourceAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3TraceSourceAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> >'])
-    register_Ns3SimpleRefCount__Ns3NdnContentObject_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnContentObject__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >'])
+    register_Ns3SimpleRefCount__Ns3NdnData_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnData__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >'])
     register_Ns3SimpleRefCount__Ns3NdnExclude_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnExclude__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Exclude, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Exclude> >'])
     register_Ns3SimpleRefCount__Ns3NdnFaceContainer_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnFaceContainer__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::FaceContainer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::FaceContainer> >'])
     register_Ns3SimpleRefCount__Ns3NdnInterest_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnInterest__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::ndn::Interest, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Interest> >'])
@@ -688,8 +688,8 @@
     register_Ns3NdnApp_methods(root_module, root_module['ns3::ndn::App'])
     register_Ns3NdnAppHelper_methods(root_module, root_module['ns3::ndn::AppHelper'])
     register_Ns3NdnBlob_methods(root_module, root_module['ns3::ndn::Blob'])
-    register_Ns3NdnContentObject_methods(root_module, root_module['ns3::ndn::ContentObject'])
-    register_Ns3NdnContentObjectException_methods(root_module, root_module['ns3::ndn::ContentObjectException'])
+    register_Ns3NdnData_methods(root_module, root_module['ns3::ndn::Data'])
+    register_Ns3NdnDataException_methods(root_module, root_module['ns3::ndn::DataException'])
     register_Ns3NdnContentStore_methods(root_module, root_module['ns3::ndn::ContentStore'])
     register_Ns3NdnExclude_methods(root_module, root_module['ns3::ndn::Exclude'])
     register_Ns3NdnFace_methods(root_module, root_module['ns3::ndn::Face'])
@@ -3250,12 +3250,12 @@
                    is_static=True)
     return
 
-def register_Ns3SimpleRefCount__Ns3NdnContentObject_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnContentObject__gt___methods(root_module, cls):
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::SimpleRefCount() [constructor]
+def register_Ns3SimpleRefCount__Ns3NdnData_Ns3Empty_Ns3DefaultDeleter__lt__ns3NdnData__gt___methods(root_module, cls):
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::SimpleRefCount() [constructor]
     cls.add_constructor([])
-    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::SimpleRefCount(ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> > const & o) [copy constructor]
-    cls.add_constructor([param('ns3::SimpleRefCount< ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter< ns3::ndn::ContentObject > > const &', 'o')])
-    ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::ndn::ContentObject, ns3::empty, ns3::DefaultDeleter<ns3::ndn::ContentObject> >::Cleanup() [member function]
+    ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::SimpleRefCount(ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> > const & o) [copy constructor]
+    cls.add_constructor([param('ns3::SimpleRefCount< ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter< ns3::ndn::Data > > const &', 'o')])
+    ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::ndn::Data, ns3::empty, ns3::DefaultDeleter<ns3::ndn::Data> >::Cleanup() [member function]
     cls.add_method('Cleanup', 
                    'void', 
                    [], 
@@ -5169,10 +5169,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnContentObject(ns3::Ptr<ns3::ndn::ContentObject const> contentObject) [member function]
-    cls.add_method('OnContentObject', 
+    ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnData(ns3::Ptr<ns3::ndn::Data const> contentObject) [member function]
+    cls.add_method('OnData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'contentObject')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'contentObject')], 
                    is_virtual=True)
     ## ndn-app.h (module 'ndnSIM'): void ns3::ndn::App::OnInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('OnInterest', 
@@ -5298,97 +5298,97 @@
                    [param('ns3::ndn::Blob &', 'x')])
     return
 
-def register_Ns3NdnContentObject_methods(root_module, cls):
+def register_Ns3NdnData_methods(root_module, cls):
     cls.add_output_stream_operator()
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject::ContentObject(ns3::Ptr<ns3::Packet> payload=ns3::Create( )) [constructor]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data::Data(ns3::Ptr<ns3::Packet> payload=ns3::Create( )) [constructor]
     cls.add_constructor([param('ns3::Ptr< ns3::Packet >', 'payload', default_value='ns3::Create( )')])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObject::ContentObject(ns3::ndn::ContentObject const & other) [copy constructor]
-    cls.add_constructor([param('ns3::ndn::ContentObject const &', 'other')])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::ContentObject::GetFreshness() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Data::Data(ns3::ndn::Data const & other) [copy constructor]
+    cls.add_constructor([param('ns3::ndn::Data const &', 'other')])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::Data::GetFreshness() const [member function]
     cls.add_method('GetFreshness', 
                    'ns3::Time', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::ContentObject::GetKeyLocator() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::Data::GetKeyLocator() const [member function]
     cls.add_method('GetKeyLocator', 
                    'ns3::Ptr< ns3::ndn::Name const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::ContentObject::GetName() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::Data::GetName() const [member function]
     cls.add_method('GetName', 
                    'ns3::ndn::Name const &', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::ContentObject::GetNamePtr() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Name const> ns3::ndn::Data::GetNamePtr() const [member function]
     cls.add_method('GetNamePtr', 
                    'ns3::Ptr< ns3::ndn::Name const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::ContentObject::GetPayload() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::Data::GetPayload() const [member function]
     cls.add_method('GetPayload', 
                    'ns3::Ptr< ns3::Packet const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): uint32_t ns3::ndn::ContentObject::GetSignature() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): uint32_t ns3::ndn::Data::GetSignature() const [member function]
     cls.add_method('GetSignature', 
                    'uint32_t', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::ContentObject::GetTimestamp() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Time ns3::ndn::Data::GetTimestamp() const [member function]
     cls.add_method('GetTimestamp', 
                    'ns3::Time', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::ContentObject::GetWire() const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet const> ns3::ndn::Data::GetWire() const [member function]
     cls.add_method('GetWire', 
                    'ns3::Ptr< ns3::Packet const >', 
                    [], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::Print(std::ostream & os) const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
                    'void', 
                    [param('std::ostream &', 'os')], 
                    is_const=True)
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetFreshness(ns3::Time const & freshness) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetFreshness(ns3::Time const & freshness) [member function]
     cls.add_method('SetFreshness', 
                    'void', 
                    [param('ns3::Time const &', 'freshness')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetKeyLocator(ns3::Ptr<ns3::ndn::Name> keyLocator) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetKeyLocator(ns3::Ptr<ns3::ndn::Name> keyLocator) [member function]
     cls.add_method('SetKeyLocator', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name >', 'keyLocator')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetName(ns3::Ptr<ns3::ndn::Name> name) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetName(ns3::Ptr<ns3::ndn::Name> name) [member function]
     cls.add_method('SetName', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name >', 'name')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetName(ns3::ndn::Name const & name) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetName(ns3::ndn::Name const & name) [member function]
     cls.add_method('SetName', 
                    'void', 
                    [param('ns3::ndn::Name const &', 'name')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetPayload(ns3::Ptr<ns3::Packet> payload) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetPayload(ns3::Ptr<ns3::Packet> payload) [member function]
     cls.add_method('SetPayload', 
                    'void', 
                    [param('ns3::Ptr< ns3::Packet >', 'payload')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetSignature(uint32_t signature) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetSignature(uint32_t signature) [member function]
     cls.add_method('SetSignature', 
                    'void', 
                    [param('uint32_t', 'signature')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetTimestamp(ns3::Time const & timestamp) [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetTimestamp(ns3::Time const & timestamp) [member function]
     cls.add_method('SetTimestamp', 
                    'void', 
                    [param('ns3::Time const &', 'timestamp')])
-    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::ContentObject::SetWire(ns3::Ptr<ns3::Packet const> packet) const [member function]
+    ## ndn-content-object.h (module 'ndnSIM'): void ns3::ndn::Data::SetWire(ns3::Ptr<ns3::Packet const> packet) const [member function]
     cls.add_method('SetWire', 
                    'void', 
                    [param('ns3::Ptr< ns3::Packet const >', 'packet')], 
                    is_const=True)
     return
 
-def register_Ns3NdnContentObjectException_methods(root_module, cls):
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException::ContentObjectException() [constructor]
+def register_Ns3NdnDataException_methods(root_module, cls):
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException::DataException() [constructor]
     cls.add_constructor([])
-    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::ContentObjectException::ContentObjectException(ns3::ndn::ContentObjectException const & arg0) [copy constructor]
-    cls.add_constructor([param('ns3::ndn::ContentObjectException const &', 'arg0')])
+    ## ndn-content-object.h (module 'ndnSIM'): ns3::ndn::DataException::DataException(ns3::ndn::DataException const & arg0) [copy constructor]
+    cls.add_constructor([param('ns3::ndn::DataException const &', 'arg0')])
     return
 
 def register_Ns3NdnContentStore_methods(root_module, cls):
@@ -5397,10 +5397,10 @@
     cls.add_constructor([])
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::ContentStore::ContentStore(ns3::ndn::ContentStore const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::ContentStore const &', 'arg0')])
-    ## ndn-content-store.h (module 'ndnSIM'): bool ns3::ndn::ContentStore::Add(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): bool ns3::ndn::ContentStore::Add(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('Add', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::cs::Entry> ns3::ndn::ContentStore::Begin() [member function]
     cls.add_method('Begin', 
@@ -5427,9 +5427,9 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::ContentStore::Lookup(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Data> ns3::ndn::ContentStore::Lookup(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('Lookup', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::cs::Entry> ns3::ndn::ContentStore::Next(ns3::Ptr<ns3::ndn::cs::Entry> arg0) [member function]
@@ -5544,25 +5544,25 @@
                    'std::ostream &', 
                    [param('std::ostream &', 'os')], 
                    is_const=True, is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveData(ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveData(ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('ReceiveData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data >', 'data')], 
                    is_virtual=True)
     ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::ReceiveInterest(ns3::Ptr<ns3::ndn::Interest> interest) [member function]
     cls.add_method('ReceiveInterest', 
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest >', 'interest')], 
                    is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): void ns3::ndn::Face::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::ContentObject>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
+    ## ndn-face.h (module 'ndnSIM'): void ns3::ndn::Face::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Data>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
     cls.add_method('RegisterProtocolHandlers', 
                    'void', 
-                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::ContentObject >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
+                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Data >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
                    is_virtual=True)
-    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-face.h (module 'ndnSIM'): bool ns3::ndn::Face::SendInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('SendInterest', 
@@ -5759,10 +5759,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnData(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnData(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('OnData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'face'), param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'face'), param('ns3::Ptr< ns3::ndn::Data >', 'data')], 
                    is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::OnInterest(ns3::Ptr<ns3::ndn::Face> face, ns3::Ptr<ns3::ndn::Interest> interest) [member function]
     cls.add_method('OnInterest', 
@@ -5814,20 +5814,20 @@
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Interest const >', 'interest'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveSolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, bool didCreateCacheEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveSolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, bool didCreateCacheEntry) [member function]
     cls.add_method('DidReceiveSolicitedData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('bool', 'didCreateCacheEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('bool', 'didCreateCacheEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveUnsolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, bool didCreateCacheEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidReceiveUnsolicitedData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, bool didCreateCacheEntry) [member function]
     cls.add_method('DidReceiveUnsolicitedData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('bool', 'didCreateCacheEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('bool', 'didCreateCacheEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::ContentObject const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutData(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::Data const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('DidSendOutData', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Face >', 'outFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Face >', 'outFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::DidSendOutInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Face> outFace, ns3::Ptr<ns3::ndn::Interest const> interest, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('DidSendOutInterest', 
@@ -5864,10 +5864,10 @@
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Interest const >', 'interest'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
-    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::SatisfyPendingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::ContentObject const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
+    ## ndn-forwarding-strategy.h (module 'ndnSIM'): void ns3::ndn::ForwardingStrategy::SatisfyPendingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Data const> data, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('SatisfyPendingInterest', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
+                   [param('ns3::Ptr< ns3::ndn::Face >', 'inFace'), param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('ns3::Ptr< ns3::ndn::pit::Entry >', 'pitEntry')], 
                    visibility='protected', is_virtual=True)
     ## ndn-forwarding-strategy.h (module 'ndnSIM'): bool ns3::ndn::ForwardingStrategy::ShouldSuppressIncomingInterest(ns3::Ptr<ns3::ndn::Face> inFace, ns3::Ptr<ns3::ndn::Interest const> interest, ns3::Ptr<ns3::ndn::pit::Entry> pitEntry) [member function]
     cls.add_method('ShouldSuppressIncomingInterest', 
@@ -6444,10 +6444,10 @@
                    is_static=True)
     ## ndn-net-device-face.h (module 'ndnSIM'): ns3::ndn::NetDeviceFace::NetDeviceFace(ns3::Ptr<ns3::Node> node, ns3::Ptr<ns3::NetDevice> const & netDevice) [constructor]
     cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::Ptr< ns3::NetDevice > const &', 'netDevice')])
-    ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::ContentObject>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
+    ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::RegisterProtocolHandlers(ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Interest>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & interestHandler, ns3::Callback<void, ns3::Ptr<ns3::ndn::Face>, ns3::Ptr<ns3::ndn::Data>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> const & dataHandler) [member function]
     cls.add_method('RegisterProtocolHandlers', 
                    'void', 
-                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::ContentObject >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
+                   [param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Interest >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'interestHandler'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Face >, ns3::Ptr< ns3::ndn::Data >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty > const &', 'dataHandler')], 
                    is_virtual=True)
     ## ndn-net-device-face.h (module 'ndnSIM'): void ns3::ndn::NetDeviceFace::UnRegisterProtocolHandlers() [member function]
     cls.add_method('UnRegisterProtocolHandlers', 
@@ -6517,10 +6517,10 @@
                    'ns3::TypeId', 
                    [], 
                    is_static=True)
-    ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::ContentObject const & header) [member function]
+    ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::Data const & header) [member function]
     cls.add_method('Lookup', 
                    'ns3::Ptr< ns3::ndn::pit::Entry >', 
-                   [param('ns3::ndn::ContentObject const &', 'header')], 
+                   [param('ns3::ndn::Data const &', 'header')], 
                    is_pure_virtual=True, is_virtual=True)
     ## ndn-pit.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::Pit::Lookup(ns3::ndn::Interest const & header) [member function]
     cls.add_method('Lookup', 
@@ -6687,10 +6687,10 @@
     cls.add_method('RemoveNetDeviceFaceCreateCallback', 
                    'void', 
                    [param('ns3::TypeId', 'netDeviceType'), param('ns3::Callback< ns3::Ptr< ns3::ndn::NetDeviceFace >, ns3::Ptr< ns3::Node >, ns3::Ptr< ns3::ndn::L3Protocol >, ns3::Ptr< ns3::NetDevice >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
-    ## ndn-stack-helper.h (module 'ndnSIM'): void ns3::ndn::StackHelper::EnableLimits(bool enable=true, ns3::Time avgRtt=ns3::Seconds( ), uint32_t avgContentObject=1100, uint32_t avgInterest=40) [member function]
+    ## ndn-stack-helper.h (module 'ndnSIM'): void ns3::ndn::StackHelper::EnableLimits(bool enable=true, ns3::Time avgRtt=ns3::Seconds( ), uint32_t avgData=1100, uint32_t avgInterest=40) [member function]
     cls.add_method('EnableLimits', 
                    'void', 
-                   [param('bool', 'enable', default_value='true'), param('ns3::Time', 'avgRtt', default_value='ns3::Seconds(0)'), param('uint32_t', 'avgContentObject', default_value='1100'), param('uint32_t', 'avgInterest', default_value='40')])
+                   [param('bool', 'enable', default_value='true'), param('ns3::Time', 'avgRtt', default_value='ns3::Seconds(0)'), param('uint32_t', 'avgData', default_value='1100'), param('uint32_t', 'avgInterest', default_value='40')])
     ## ndn-stack-helper.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::FaceContainer> ns3::ndn::StackHelper::Install(std::string const & nodeName) const [member function]
     cls.add_method('Install', 
                    'ns3::Ptr< ns3::ndn::FaceContainer >', 
@@ -6754,15 +6754,15 @@
     cls.add_constructor([])
     ## ndn-wire.h (module 'ndnSIM'): ns3::ndn::Wire::Wire(ns3::ndn::Wire const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::Wire const &', 'arg0')])
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromData(ns3::Ptr<ns3::ndn::ContentObject const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromData(ns3::Ptr<ns3::ndn::Data const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromData', 
                    'ns3::Ptr< ns3::Packet >', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static std::string ns3::ndn::Wire::FromDataStr(ns3::Ptr<ns3::ndn::ContentObject const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static std::string ns3::ndn::Wire::FromDataStr(ns3::Ptr<ns3::ndn::Data const> data, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromDataStr', 
                    'std::string', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
     ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::Packet> ns3::ndn::Wire::FromInterest(ns3::Ptr<ns3::ndn::Interest const> interest, int8_t wireFormat=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)) [member function]
     cls.add_method('FromInterest', 
@@ -6779,14 +6779,14 @@
                    'std::string', 
                    [param('ns3::Ptr< ns3::ndn::Name const >', 'name'), param('int8_t', 'wireFormat', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_DEFAULT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::Wire::ToData(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Data> ns3::ndn::Wire::ToData(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
     cls.add_method('ToData', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('ns3::Ptr< ns3::Packet >', 'packet'), param('int8_t', 'type', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)')], 
                    is_static=True)
-    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::ContentObject> ns3::ndn::Wire::ToDataStr(std::string const & wire, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
+    ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Data> ns3::ndn::Wire::ToDataStr(std::string const & wire, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
     cls.add_method('ToDataStr', 
-                   'ns3::Ptr< ns3::ndn::ContentObject >', 
+                   'ns3::Ptr< ns3::ndn::Data >', 
                    [param('std::string const &', 'wire'), param('int8_t', 'type', default_value='::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)')], 
                    is_static=True)
     ## ndn-wire.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::Interest> ns3::ndn::Wire::ToInterest(ns3::Ptr<ns3::Packet> packet, int8_t type=::int8_t(::ns3::ndn::Wire::WIRE_FORMAT_AUTODETECT)) [member function]
@@ -6814,10 +6814,10 @@
                    'void', 
                    [], 
                    is_virtual=True)
-    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::ExpressInterest(ns3::Ptr<ns3::ndn::Interest> interest, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::Ptr<ns3::ndn::ContentObject const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onData, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onTimeout) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::ExpressInterest(ns3::Ptr<ns3::ndn::Interest> interest, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::Ptr<ns3::ndn::Data const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onData, ns3::Callback<void, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onTimeout) [member function]
     cls.add_method('ExpressInterest', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::Interest >', 'interest'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::Ptr< ns3::ndn::ContentObject const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onData'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onTimeout')])
+                   [param('ns3::Ptr< ns3::ndn::Interest >', 'interest'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::Ptr< ns3::ndn::Data const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onData'), param('ns3::Callback< void, ns3::Ptr< ns3::ndn::Interest const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'onTimeout')])
     ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::SetInterestFilter(ns3::Ptr<ns3::ndn::Name const> prefix, ns3::Callback<void, ns3::Ptr<ns3::ndn::Name const>, ns3::Ptr<ns3::ndn::Interest const>, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> onInterest) [member function]
     cls.add_method('SetInterestFilter', 
                    'void', 
@@ -6826,19 +6826,19 @@
     cls.add_method('ClearInterestFilter', 
                    'void', 
                    [param('ns3::Ptr< ns3::ndn::Name const >', 'prefix')])
-    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::Put(ns3::Ptr<ns3::ndn::ContentObject> data) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): void ns3::ndn::ApiFace::Put(ns3::Ptr<ns3::ndn::Data> data) [member function]
     cls.add_method('Put', 
                    'void', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject >', 'data')])
+                   [param('ns3::Ptr< ns3::ndn::Data >', 'data')])
     ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendInterest(ns3::Ptr<ns3::ndn::Interest const> interest) [member function]
     cls.add_method('SendInterest', 
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_virtual=True)
-    ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-api-face.h (module 'ndnSIM'): bool ns3::ndn::ApiFace::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-api-face.h (module 'ndnSIM'): std::ostream & ns3::ndn::ApiFace::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
@@ -6860,10 +6860,10 @@
                    'bool', 
                    [param('ns3::Ptr< ns3::ndn::Interest const >', 'interest')], 
                    is_virtual=True)
-    ## ndn-app-face.h (module 'ndnSIM'): bool ns3::ndn::AppFace::SendData(ns3::Ptr<ns3::ndn::ContentObject const> data) [member function]
+    ## ndn-app-face.h (module 'ndnSIM'): bool ns3::ndn::AppFace::SendData(ns3::Ptr<ns3::ndn::Data const> data) [member function]
     cls.add_method('SendData', 
                    'bool', 
-                   [param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')], 
+                   [param('ns3::Ptr< ns3::ndn::Data const >', 'data')], 
                    is_virtual=True)
     ## ndn-app-face.h (module 'ndnSIM'): std::ostream & ns3::ndn::AppFace::Print(std::ostream & os) const [member function]
     cls.add_method('Print', 
@@ -6875,15 +6875,15 @@
 def register_Ns3NdnCsEntry_methods(root_module, cls):
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::ndn::cs::Entry const & arg0) [copy constructor]
     cls.add_constructor([param('ns3::ndn::cs::Entry const &', 'arg0')])
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentStore> cs, ns3::Ptr<ns3::ndn::ContentObject const> data) [constructor]
-    cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentStore >', 'cs'), param('ns3::Ptr< ns3::ndn::ContentObject const >', 'data')])
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentStore> cs, ns3::Ptr<ns3::ndn::Data const> data) [constructor]
+    cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentStore >', 'cs'), param('ns3::Ptr< ns3::ndn::Data const >', 'data')])
     ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentStore> ns3::ndn::cs::Entry::GetContentStore() [member function]
     cls.add_method('GetContentStore', 
                    'ns3::Ptr< ns3::ndn::ContentStore >', 
                    [])
-    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentObject const> ns3::ndn::cs::Entry::GetData() const [member function]
+    ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::Data const> ns3::ndn::cs::Entry::GetData() const [member function]
     cls.add_method('GetData', 
-                   'ns3::Ptr< ns3::ndn::ContentObject const >', 
+                   'ns3::Ptr< ns3::ndn::Data const >', 
                    [], 
                    is_const=True)
     ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::Name const & ns3::ndn::cs::Entry::GetName() const [member function]
diff --git a/bindings/scan-header.h b/bindings/scan-header.h
index 7d35e18..72d8771 100644
--- a/bindings/scan-header.h
+++ b/bindings/scan-header.h
@@ -19,7 +19,7 @@
 }
 
 static inline void
-__dummy_function_on_data_callback_instantiation (Ptr<const Interest>, Ptr<const ContentObject>)
+__dummy_function_on_data_callback_instantiation (Ptr<const Interest>, Ptr<const Data>)
 {
 }
 
@@ -51,7 +51,7 @@
 // /// @cond include_hidden
 // #ifdef PYTHON_SCAN
 // struct CallbackVoidNameInterest : public Callback<void, Ptr<const Name>, Ptr<const Interest> > { };
-// struct CallbackVoidInterestContentObject : public Callback<void, Ptr<const Interest>, Ptr<const ContentObject> > { };
+// struct CallbackVoidInterestData : public Callback<void, Ptr<const Interest>, Ptr<const Data> > { };
 // struct CallbackVoidInterest : public Callback<void, Ptr<const Interest> > { };
 // #endif
 // /// @endcond
diff --git a/docs/source/ndnsim-research-papers.rst b/docs/source/ndnsim-research-papers.rst
index 732d97b..d619e36 100644
--- a/docs/source/ndnsim-research-papers.rst
+++ b/docs/source/ndnsim-research-papers.rst
@@ -102,7 +102,7 @@
     Moreover, it also shows the performance under different sizes of content store.
     The effectiveness of the CCP strategy is proved during the simulation.
 
-- **M. Wahlisch, T.C. Schmidt, and M. Vahlenkamp, "Backscatter from the Data Plane--Threats to Stability and Security in Information-Centric Network Infrastructure", in Computer Networks, 2013** (`DOI 10.1016/j.comnet.2013.07.009 <http://dx.doi.org/10.1016/j.comnet.2013.07.009>`)
+- **M. Wahlisch, T.C. Schmidt, and M. Vahlenkamp, "Backscatter from the Data Plane--Threats to Stability and Security in Information-Centric Network Infrastructure", in Computer Networks, 2013** (`DOI 10.1016/j.comnet.2013.07.009 <http://dx.doi.org/10.1016/j.comnet.2013.07.009>`_)
 
     Information-centric networking (ICN) raises data objects to first class routable entities in the network and changes the Internet paradigm from host-centric connectivity to data-oriented delivery.
     However, current approaches to content routing heavily rely on data-driven protocol events and thereby introduce a strong coupling of the control to the data plane in the underlying routing infrastructure.
diff --git a/examples/custom-apps/custom-app.cc b/examples/custom-apps/custom-app.cc
index 4e83095..bc2fb2e 100644
--- a/examples/custom-apps/custom-app.cc
+++ b/examples/custom-apps/custom-app.cc
@@ -116,27 +116,27 @@
   
   NS_LOG_DEBUG ("Received Interest packet for " << interest->GetName ());
 
-  // Create and configure ndn::ContentObject and ndn::ContentObjectTail
+  // Create and configure ndn::Data and ndn::DataTail
   // (header is added in front of the packet, tail is added at the end of the packet)
 
   // Note that Interests send out by the app will not be sent back to the app !
   
-  Ptr<ndn::ContentObject> data = Create<ndn::ContentObject> (Create<Packet> (1024));
+  Ptr<ndn::Data> data = Create<ndn::Data> (Create<Packet> (1024));
   data->SetName (Create<ndn::Name> (interest->GetName ())); // data will have the same name as Interests
 
-  NS_LOG_DEBUG ("Sending ContentObject packet for " << data->GetName ());  
+  NS_LOG_DEBUG ("Sending Data packet for " << data->GetName ());  
 
   // Call trace (for logging purposes)
-  m_transmittedContentObjects (data, this, m_face);
+  m_transmittedDatas (data, this, m_face);
 
   m_face->ReceiveData (data); 
 }
 
 // Callback that will be called when Data arrives
 void
-CustomApp::OnContentObject (Ptr<const ndn::ContentObject> contentObject)
+CustomApp::OnData (Ptr<const ndn::Data> contentObject)
 {
-  NS_LOG_DEBUG ("Receiving ContentObject packet for " << contentObject->GetName ());
+  NS_LOG_DEBUG ("Receiving Data packet for " << contentObject->GetName ());
 
   std::cout << "DATA received for name " << contentObject->GetName () << std::endl;
 }
diff --git a/examples/custom-apps/custom-app.h b/examples/custom-apps/custom-app.h
index ed21a2c..d1f85f7 100644
--- a/examples/custom-apps/custom-app.h
+++ b/examples/custom-apps/custom-app.h
@@ -30,12 +30,12 @@
 /**
  * @brief A simple custom application
  *
- * This applications demonstrates how to send Interests and respond with ContentObjects to incoming interests
+ * This applications demonstrates how to send Interests and respond with Datas to incoming interests
  *
  * When application starts it "sets interest filter" (install FIB entry) for /prefix/sub, as well as
  * sends Interest for this prefix
  *
- * When an Interest is received, it is replied with a ContentObject with 1024-byte fake payload
+ * When an Interest is received, it is replied with a Data with 1024-byte fake payload
  */
 class CustomApp : public ndn::App
 {
@@ -58,7 +58,7 @@
 
   // (overridden from ndn::App) Callback that will be called when Data arrives
   virtual void
-  OnContentObject (Ptr<const ndn::ContentObject> contentObject);
+  OnData (Ptr<const ndn::Data> contentObject);
 
 private:
   void
diff --git a/examples/custom-apps/dumb-requester.cc b/examples/custom-apps/dumb-requester.cc
index b1a0592..574eb7c 100644
--- a/examples/custom-apps/dumb-requester.cc
+++ b/examples/custom-apps/dumb-requester.cc
@@ -110,9 +110,9 @@
 }
 
 void
-DumbRequester::OnContentObject (Ptr<const ndn::ContentObject> contentObject)
+DumbRequester::OnData (Ptr<const ndn::Data> contentObject)
 {
-  NS_LOG_DEBUG ("Receiving ContentObject packet for " << contentObject->GetName ());
+  NS_LOG_DEBUG ("Receiving Data packet for " << contentObject->GetName ());
 }
 
 
diff --git a/examples/custom-apps/dumb-requester.h b/examples/custom-apps/dumb-requester.h
index c2340e0..7b728c7 100644
--- a/examples/custom-apps/dumb-requester.h
+++ b/examples/custom-apps/dumb-requester.h
@@ -52,7 +52,7 @@
 
   // (overridden from ndn::App) Callback that will be called when Data arrives
   virtual void
-  OnContentObject (Ptr<const ndn::ContentObject> contentObject);
+  OnData (Ptr<const ndn::Data> contentObject);
   
 private:
   void
diff --git a/examples/custom-apps/ndn-api-app.cc b/examples/custom-apps/ndn-api-app.cc
index db55bb6..bb7a9b6 100644
--- a/examples/custom-apps/ndn-api-app.cc
+++ b/examples/custom-apps/ndn-api-app.cc
@@ -72,7 +72,7 @@
 }
 
 void
-ApiApp::GotData (Ptr<const Interest> origInterest, Ptr<const ContentObject> data)
+ApiApp::GotData (Ptr<const Interest> origInterest, Ptr<const Data> data)
 {
   NS_LOG_FUNCTION (this << origInterest->GetName () << data->GetName ());
   // do nothing else
diff --git a/examples/custom-apps/ndn-api-app.h b/examples/custom-apps/ndn-api-app.h
index 7709b80..8345a99 100644
--- a/examples/custom-apps/ndn-api-app.h
+++ b/examples/custom-apps/ndn-api-app.h
@@ -43,7 +43,7 @@
   RequestData ();
 
   void
-  GotData (Ptr<const Interest> origInterest, Ptr<const ContentObject> data);
+  GotData (Ptr<const Interest> origInterest, Ptr<const Data> data);
   
 protected:
   // inherited from Application base class.
diff --git a/examples/ndn-simple-with-content-freshness.cc b/examples/ndn-simple-with-content-freshness.cc
index cefb232..23db4cb 100644
--- a/examples/ndn-simple-with-content-freshness.cc
+++ b/examples/ndn-simple-with-content-freshness.cc
@@ -33,7 +33,7 @@
  *      | consumer | <------------> | router | <------------> | producer |
  *      +----------+         10ms   +--------+          10ms  +----------+
  *
- * This scenario demonstrates how to use content store that responds to Freshness parameter set in ContentObjects.
+ * This scenario demonstrates how to use content store that responds to Freshness parameter set in Datas.
  * That is, if producer set Freshness field to 2 seconds, the corresponding content object will not be cached
  * more than 2 seconds (can be cached for a shorter time, if entry is evicted earlier)
  * 
diff --git a/examples/ndn-simple-with-cs-lfu.cc b/examples/ndn-simple-with-cs-lfu.cc
index c184863..0ed9079 100644
--- a/examples/ndn-simple-with-cs-lfu.cc
+++ b/examples/ndn-simple-with-cs-lfu.cc
@@ -36,7 +36,7 @@
  *      | consumer | <------------> | router | <------------> | producer |
  *      +----------+         10ms   +--------+          10ms  +----------+
  *
- * This scenario demonstrates how to use content store that responds to Freshness parameter set in ContentObjects.
+ * This scenario demonstrates how to use content store that responds to Freshness parameter set in Datas.
  * That is, if producer set Freshness field to 2 seconds, the corresponding content object will not be cached
  * more than 2 seconds (can be cached for a shorter time, if entry is evicted earlier)
  *
diff --git a/examples/ndn-simple-with-different-sizes-content-store.cc b/examples/ndn-simple-with-different-sizes-content-store.cc
index b25d452..d6da309 100644
--- a/examples/ndn-simple-with-different-sizes-content-store.cc
+++ b/examples/ndn-simple-with-different-sizes-content-store.cc
@@ -33,7 +33,7 @@
  *      | consumer | <------------> | router | <------------> | producer |
  *      +----------+         10ms   +--------+          10ms  +----------+
  *
- * This scenario demonstrates how to use content store that responds to Freshness parameter set in ContentObjects.
+ * This scenario demonstrates how to use content store that responds to Freshness parameter set in Datas.
  * That is, if producer set Freshness field to 2 seconds, the corresponding content object will not be cached
  * more than 2 seconds (can be cached for a shorter time, if entry is evicted earlier)
  *
diff --git a/helper/ndn-header-helper.h b/helper/ndn-header-helper.h
index 1e3e086..376cdb7 100644
--- a/helper/ndn-header-helper.h
+++ b/helper/ndn-header-helper.h
@@ -41,7 +41,7 @@
  *
  * Ndn doesn't really have a header, so we need this class to
  * determine type of Ndn packet and return corresponent header class,
- * Interest or ContentObject
+ * Interest or Data
  *
  * Throws UnknownHeaderException if header type couldn't be determined
  */
@@ -57,7 +57,7 @@
   /**
    *	Packet ::= Version
    *		   PacketType
-   *		   (Interest | ContentObject)
+   *		   (Interest | Data)
    *
    *        0                   1
    *        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
@@ -68,7 +68,7 @@
    * For ccnb-encoding compatibility, ``Version`` / ``PacketType`` has two reserved values to denote ccnb-encoded packet:
    *
    * Version 0x01, PacketType 0xD2 --- ccnb-encoded ``Interest`` packet
-   * Version 0x04, PacketType 0x82 --- ccnb-encoded ``ContentObject`` packet
+   * Version 0x04, PacketType 0x82 --- ccnb-encoded ``Data`` packet
    *
    *
    * It peeks first 2 bytes of a packet.
diff --git a/helper/ndn-stack-helper.cc b/helper/ndn-stack-helper.cc
index e0bf401..085078b 100644
--- a/helper/ndn-stack-helper.cc
+++ b/helper/ndn-stack-helper.cc
@@ -179,13 +179,13 @@
 void
 StackHelper::EnableLimits (bool enable/* = true*/,
                            Time avgRtt/*=Seconds(0.1)*/,
-                           uint32_t avgContentObject/*=1100*/,
+                           uint32_t avgData/*=1100*/,
                            uint32_t avgInterest/*=40*/)
 {
   NS_LOG_INFO ("EnableLimits: " << enable);
   m_limitsEnabled = enable;
   m_avgRtt = avgRtt;
-  m_avgContentObjectSize = avgContentObject;
+  m_avgDataSize = avgData;
   m_avgInterestSize = avgInterest;
 }
 
@@ -355,7 +355,7 @@
 
           NS_LOG_INFO("DataRate for this link is " << dataRate.Get());
 
-          double maxInterestPackets = 1.0  * dataRate.Get ().GetBitRate () / 8.0 / (m_avgContentObjectSize + m_avgInterestSize);
+          double maxInterestPackets = 1.0  * dataRate.Get ().GetBitRate () / 8.0 / (m_avgDataSize + m_avgInterestSize);
           // NS_LOG_INFO ("Max packets per second: " << maxInterestPackets);
           // NS_LOG_INFO ("Max burst: " << m_avgRtt.ToDouble (Time::S) * maxInterestPackets);
           NS_LOG_INFO ("MaxLimit: " << (int)(m_avgRtt.ToDouble (Time::S) * maxInterestPackets));
diff --git a/helper/ndn-stack-helper.h b/helper/ndn-stack-helper.h
index 8303440..dc11bcf 100644
--- a/helper/ndn-stack-helper.h
+++ b/helper/ndn-stack-helper.h
@@ -166,11 +166,11 @@
    *
    * @param enable           Enable or disable limits
    * @param avgRtt           Average RTT
-   * @param avgContentObject Average size of contentObject packets (including all headers)
+   * @param avgData Average size of contentObject packets (including all headers)
    * @param avgInterest      Average size of interest packets (including all headers)
    */
   void
-  EnableLimits (bool enable = true, Time avgRtt=Seconds(0.1), uint32_t avgContentObject=1100, uint32_t avgInterest=40);
+  EnableLimits (bool enable = true, Time avgRtt=Seconds(0.1), uint32_t avgData=1100, uint32_t avgInterest=40);
 
   /**
    * \brief Install Ndn stack on the node
@@ -305,7 +305,7 @@
 
   bool     m_limitsEnabled;
   Time     m_avgRtt;
-  uint32_t m_avgContentObjectSize;
+  uint32_t m_avgDataSize;
   uint32_t m_avgInterestSize;
   bool     m_needSetDefaultRoutes;
 
diff --git a/model/cs/content-store-impl.h b/model/cs/content-store-impl.h
index 7058009..48786d7 100644
--- a/model/cs/content-store-impl.h
+++ b/model/cs/content-store-impl.h
@@ -48,7 +48,7 @@
   typedef Entry base_type;
 
 public:
-  EntryImpl (Ptr<ContentStore> cs, Ptr<const ContentObject> data)
+  EntryImpl (Ptr<ContentStore> cs, Ptr<const Data> data)
     : Entry (cs, data)
     , item_ (0)
   {
@@ -94,11 +94,11 @@
 
   // from ContentStore
 
-  virtual inline Ptr<ContentObject>
+  virtual inline Ptr<Data>
   Lookup (Ptr<const Interest> interest);
 
   virtual inline bool
-  Add (Ptr<const ContentObject> data);
+  Add (Ptr<const Data> data);
 
   // virtual bool
   // Remove (Ptr<Interest> header);
@@ -182,7 +182,7 @@
 };
 
 template<class Policy>
-Ptr<ContentObject>
+Ptr<Data>
 ContentStoreImpl<Policy>::Lookup (Ptr<const Interest> interest)
 {
   NS_LOG_FUNCTION (this << interest->GetName ());
@@ -202,7 +202,7 @@
     {
       this->m_cacheHitsTrace (interest, node->payload ()->GetData ());
 
-      Ptr<ContentObject> copy = Create<ContentObject> (*node->payload ()->GetData ());
+      Ptr<Data> copy = Create<Data> (*node->payload ()->GetData ());
       ConstCast<Packet> (copy->GetPayload ())->RemoveAllPacketTags ();
       return copy;
     }
@@ -215,7 +215,7 @@
 
 template<class Policy>
 bool
-ContentStoreImpl<Policy>::Add (Ptr<const ContentObject> data)
+ContentStoreImpl<Policy>::Add (Ptr<const Data> data)
 {
   NS_LOG_FUNCTION (this << data->GetName ());
 
diff --git a/model/cs/content-store-nocache.cc b/model/cs/content-store-nocache.cc
index c5749e2..b2b8fbf 100644
--- a/model/cs/content-store-nocache.cc
+++ b/model/cs/content-store-nocache.cc
@@ -55,7 +55,7 @@
 {
 }
 
-Ptr<ContentObject>
+Ptr<Data>
 Nocache::Lookup (Ptr<const Interest> interest)
 {
   this->m_cacheMissesTrace (interest);
@@ -63,7 +63,7 @@
 }
 
 bool
-Nocache::Add (Ptr<const ContentObject> data)
+Nocache::Add (Ptr<const Data> data)
 {
   return false;
 }
diff --git a/model/cs/content-store-nocache.h b/model/cs/content-store-nocache.h
index 98c1850..ca3afe2 100644
--- a/model/cs/content-store-nocache.h
+++ b/model/cs/content-store-nocache.h
@@ -54,11 +54,11 @@
   virtual
   ~Nocache ();
 
-  virtual Ptr<ContentObject>
+  virtual Ptr<Data>
   Lookup (Ptr<const Interest> interest);
 
   virtual bool
-  Add (Ptr<const ContentObject> data);
+  Add (Ptr<const Data> data);
 
   virtual void
   Print (std::ostream &os) const;
diff --git a/model/cs/content-store-with-freshness.h b/model/cs/content-store-with-freshness.h
index d9fa1ba..e53cbba 100644
--- a/model/cs/content-store-with-freshness.h
+++ b/model/cs/content-store-with-freshness.h
@@ -50,7 +50,7 @@
   Print (std::ostream &os) const;
 
   virtual inline bool
-  Add (Ptr<const ContentObject> data);
+  Add (Ptr<const Data> data);
 
 private:
   inline void
@@ -94,7 +94,7 @@
 
 template<class Policy>
 inline bool
-ContentStoreWithFreshness< Policy >::Add (Ptr<const ContentObject> data)
+ContentStoreWithFreshness< Policy >::Add (Ptr<const Data> data)
 {
   bool ok = super::Add (data);
   if (!ok) return false;
diff --git a/model/cs/ndn-content-store.cc b/model/cs/ndn-content-store.cc
index f1c25b7..38215dc 100644
--- a/model/cs/ndn-content-store.cc
+++ b/model/cs/ndn-content-store.cc
@@ -60,7 +60,7 @@
 
 //////////////////////////////////////////////////////////////////////
 
-Entry::Entry (Ptr<ContentStore> cs, Ptr<const ContentObject> data)
+Entry::Entry (Ptr<ContentStore> cs, Ptr<const Data> data)
   : m_cs (cs)
   , m_data (data)
 {
@@ -72,7 +72,7 @@
   return m_data->GetName ();
 }
 
-Ptr<const ContentObject>
+Ptr<const Data>
 Entry::GetData () const
 {
   return m_data;
diff --git a/model/cs/ndn-content-store.h b/model/cs/ndn-content-store.h
index 10a7bd3..ae7c059 100644
--- a/model/cs/ndn-content-store.h
+++ b/model/cs/ndn-content-store.h
@@ -34,7 +34,7 @@
 
 namespace ndn {
 
-class ContentObject;
+class Data;
 class Interest;
 class Name;
 class ContentStore;
@@ -60,13 +60,13 @@
   /**
    * \brief Construct content store entry
    *
-   * \param header Parsed ContentObject header
+   * \param header Parsed Data header
    * \param packet Original Ndn packet
    *
    * The constructor will make a copy of the supplied packet and calls
    * RemoveHeader and RemoveTail on the copy.
    */
-  Entry (Ptr<ContentStore> cs, Ptr<const ContentObject> data);
+  Entry (Ptr<ContentStore> cs, Ptr<const Data> data);
 
   /**
    * \brief Get prefix of the stored entry
@@ -76,10 +76,10 @@
   GetName () const;
 
   /**
-   * \brief Get ContentObject of the stored entry
-   * \returns ContentObject of the stored entry
+   * \brief Get Data of the stored entry
+   * \returns Data of the stored entry
    */
-  Ptr<const ContentObject>
+  Ptr<const Data>
   GetData () const;
 
   /**
@@ -90,7 +90,7 @@
 
 private:
   Ptr<ContentStore> m_cs; ///< \brief content store to which entry is added
-  Ptr<const ContentObject> m_data; ///< \brief non-modifiable ContentObject
+  Ptr<const Data> m_data; ///< \brief non-modifiable Data
 };
 
 } // namespace cs
@@ -128,19 +128,19 @@
    * If an entry is found, it is promoted to the top of most recent
    * used entries index, \see m_contentStore
    */
-  virtual Ptr<ContentObject>
+  virtual Ptr<Data>
   Lookup (Ptr<const Interest> interest) = 0;
 
   /**
    * \brief Add a new content to the content store.
    *
-   * \param header Fully parsed ContentObject
+   * \param header Fully parsed Data
    * \param packet Fully formed Ndn packet to add to content store
    * (will be copied and stripped down of headers)
    * @returns true if an existing entry was updated, false otherwise
    */
   virtual bool
-  Add (Ptr<const ContentObject> data) = 0;
+  Add (Ptr<const Data> data) = 0;
 
   // /*
   //  * \brief Add a new content to the content store.
@@ -194,7 +194,7 @@
 
 protected:
   TracedCallback<Ptr<const Interest>,
-                 Ptr<const ContentObject> > m_cacheHitsTrace; ///< @brief trace of cache hits
+                 Ptr<const Data> > m_cacheHitsTrace; ///< @brief trace of cache hits
 
   TracedCallback<Ptr<const Interest> > m_cacheMissesTrace; ///< @brief trace of cache misses
 };
diff --git a/model/fw/ndn-forwarding-strategy.cc b/model/fw/ndn-forwarding-strategy.cc
index 2275a8c..f439fd4 100644
--- a/model/fw/ndn-forwarding-strategy.cc
+++ b/model/fw/ndn-forwarding-strategy.cc
@@ -178,7 +178,7 @@
       return;
     }
 
-  Ptr<ContentObject> contentObject;
+  Ptr<Data> contentObject;
   contentObject = m_contentStore->Lookup (interest);
   if (contentObject != 0)
     {
@@ -222,7 +222,7 @@
 
 void
 ForwardingStrategy::OnData (Ptr<Face> inFace,
-                            Ptr<ContentObject> data)
+                            Ptr<Data> data)
 {
   NS_LOG_FUNCTION (inFace << data->GetName ());
   m_inData (data, inFace);
@@ -354,7 +354,7 @@
 
 void
 ForwardingStrategy::SatisfyPendingInterest (Ptr<Face> inFace,
-                                            Ptr<const ContentObject> data,
+                                            Ptr<const Data> data,
                                             Ptr<pit::Entry> pitEntry)
 {
   if (inFace != 0)
@@ -387,7 +387,7 @@
 
 void
 ForwardingStrategy::DidReceiveSolicitedData (Ptr<Face> inFace,
-                                             Ptr<const ContentObject> data,
+                                             Ptr<const Data> data,
                                              bool didCreateCacheEntry)
 {
   // do nothing
@@ -395,7 +395,7 @@
 
 void
 ForwardingStrategy::DidReceiveUnsolicitedData (Ptr<Face> inFace,
-                                               Ptr<const ContentObject> data,
+                                               Ptr<const Data> data,
                                                bool didCreateCacheEntry)
 {
   // do nothing
@@ -556,7 +556,7 @@
 void
 ForwardingStrategy::DidSendOutData (Ptr<Face> inFace,
                                     Ptr<Face> outFace,
-                                    Ptr<const ContentObject> data,
+                                    Ptr<const Data> data,
                                     Ptr<pit::Entry> pitEntry)
 {
   m_outData (data, inFace == 0, outFace);
diff --git a/model/fw/ndn-forwarding-strategy.h b/model/fw/ndn-forwarding-strategy.h
index bfed748..05078d6 100644
--- a/model/fw/ndn-forwarding-strategy.h
+++ b/model/fw/ndn-forwarding-strategy.h
@@ -45,7 +45,7 @@
 class Face;
 
 class Interest;
-class ContentObject;
+class Data;
 
 class Pit;
 namespace pit { class Entry; }
@@ -89,13 +89,13 @@
   /**
    * \brief Actual processing of incoming Ndn content objects
    *
-   * Processing ContentObject packets
+   * Processing Data packets
    * @param face    incoming face
    * @param data    Data packet
    */
   virtual void
   OnData (Ptr<Face> face,
-          Ptr<ContentObject> data);
+          Ptr<Data> data);
 
   /**
    * @brief Event fired just before PIT entry is removed by timeout
@@ -274,13 +274,13 @@
    */
   virtual void
   SatisfyPendingInterest (Ptr<Face> inFace, // 0 allowed (from cache)
-                          Ptr<const ContentObject> data,
+                          Ptr<const Data> data,
                           Ptr<pit::Entry> pitEntry);
 
   /**
    * @brief Event which is fired just after data was send out on the face
    *
-   * @param inFace   incoming face of the ContentObject
+   * @param inFace   incoming face of the Data
    * @param outFace  outgoing face
    * @param data     Data packet
    * @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
@@ -288,7 +288,7 @@
   virtual void
   DidSendOutData (Ptr<Face> inFace,
                   Ptr<Face> outFace,
-                  Ptr<const ContentObject> data,
+                  Ptr<const Data> data,
                   Ptr<pit::Entry> pitEntry);
 
   /**
@@ -300,7 +300,7 @@
    */
   virtual void
   DidReceiveSolicitedData (Ptr<Face> inFace,
-                           Ptr<const ContentObject> data,
+                           Ptr<const Data> data,
                            bool didCreateCacheEntry);
 
   /**
@@ -315,7 +315,7 @@
    */
   virtual void
   DidReceiveUnsolicitedData (Ptr<Face> inFace,
-                             Ptr<const ContentObject> data,
+                             Ptr<const Data> data,
                              bool didCreateCacheEntry);
 
   /**
@@ -328,7 +328,7 @@
    *
    * @param inFace  incoming face
    * @param interest Interest packet
-   * @param payload ContentObject payload
+   * @param payload Data payload
    */
   virtual bool
   ShouldSuppressIncomingInterest (Ptr<Face> inFace,
@@ -455,14 +455,14 @@
   ////////////////////////////////////////////////////////////////////
   ////////////////////////////////////////////////////////////////////
 
-  TracedCallback<Ptr<const ContentObject>,
+  TracedCallback<Ptr<const Data>,
                  bool /*from cache*/,
                  Ptr<const Face> > m_outData; ///< @brief trace of outgoing Data
 
-  TracedCallback<Ptr<const ContentObject>,
+  TracedCallback<Ptr<const Data>,
                  Ptr<const Face> > m_inData; ///< @brief trace of incoming Data
 
-  TracedCallback<Ptr<const ContentObject>,
+  TracedCallback<Ptr<const Data>,
                   Ptr<const Face> > m_dropData;  ///< @brief trace of dropped Data
 
   ////////////////////////////////////////////////////////////////////
diff --git a/model/ndn-app-face.cc b/model/ndn-app-face.cc
index b66fa92..4e5f56e 100644
--- a/model/ndn-app-face.cc
+++ b/model/ndn-app-face.cc
@@ -101,7 +101,7 @@
 }
 
 bool
-AppFace::SendData (Ptr<const ContentObject> data)
+AppFace::SendData (Ptr<const Data> data)
 {
   NS_LOG_FUNCTION (this << data);
 
@@ -110,7 +110,7 @@
       return false;
     }
 
-  m_app->OnContentObject (data);
+  m_app->OnData (data);
   return true;
 }
 
diff --git a/model/ndn-app-face.h b/model/ndn-app-face.h
index 5c88b4e..029dd0a 100644
--- a/model/ndn-app-face.h
+++ b/model/ndn-app-face.h
@@ -32,10 +32,10 @@
 namespace ndn {
 
 class Interest;
-class ContentObject;
+class Data;
 
 typedef Interest InterestHeader;
-typedef ContentObject ContentObjectHeader;
+typedef Data DataHeader;
 
 class App;
 
@@ -67,7 +67,7 @@
   SendInterest (Ptr<const Interest> interest);
 
   virtual bool
-  SendData (Ptr<const ContentObject> data);
+  SendData (Ptr<const Data> data);
 
 public:
   virtual std::ostream&
diff --git a/model/ndn-content-object.cc b/model/ndn-content-object.cc
index 9df1d27..84df61b 100644
--- a/model/ndn-content-object.cc
+++ b/model/ndn-content-object.cc
@@ -25,12 +25,12 @@
 
 #include <boost/foreach.hpp>
 
-NS_LOG_COMPONENT_DEFINE ("ndn.ContentObject");
+NS_LOG_COMPONENT_DEFINE ("ndn.Data");
 
 namespace ns3 {
 namespace ndn {
 
-ContentObject::ContentObject (Ptr<Packet> payload/* = Create<Packet> ()*/)
+Data::Data (Ptr<Packet> payload/* = Create<Packet> ()*/)
   : m_name (Create<Name> ())
   , m_signature (0)
   , m_payload (payload)
@@ -42,7 +42,7 @@
     }
 }
 
-ContentObject::ContentObject (const ContentObject &other)
+Data::Data (const Data &other)
   : m_name (Create<Name> (other.GetName ()))
   , m_freshness (other.GetFreshness ())
   , m_timestamp (other.GetTimestamp ())
@@ -53,48 +53,48 @@
 }
 
 void
-ContentObject::SetName (Ptr<Name> name)
+Data::SetName (Ptr<Name> name)
 {
   m_name = name;
   m_wire = 0;
 }
 
 void
-ContentObject::SetName (const Name &name)
+Data::SetName (const Name &name)
 {
   m_name = Create<Name> (name);
   m_wire = 0;
 }
 
 const Name&
-ContentObject::GetName () const
+Data::GetName () const
 {
-  if (m_name==0) throw ContentObjectException();
+  if (m_name==0) throw DataException();
   return *m_name;
 }
 
 Ptr<const Name>
-ContentObject::GetNamePtr () const
+Data::GetNamePtr () const
 {
   return m_name;
 }
 
 
 void
-ContentObject::SetTimestamp (const Time &timestamp)
+Data::SetTimestamp (const Time &timestamp)
 {
   m_timestamp = timestamp;
   m_wire = 0;
 }
 
 Time
-ContentObject::GetTimestamp () const
+Data::GetTimestamp () const
 {
   return m_timestamp;
 }
     
 void
-ContentObject::SetFreshness (const Time &freshness)
+Data::SetFreshness (const Time &freshness)
 {
   m_freshness = freshness;
   m_wire = 0;
@@ -102,52 +102,52 @@
 
 
 Time
-ContentObject::GetFreshness () const
+Data::GetFreshness () const
 {
   return m_freshness;
 }
 
 void
-ContentObject::SetSignature (uint32_t signature)
+Data::SetSignature (uint32_t signature)
 {
   m_signature = signature;
   m_wire = 0;
 }
 
 uint32_t
-ContentObject::GetSignature () const
+Data::GetSignature () const
 {
   return m_signature;
 }
 
 void
-ContentObject::SetKeyLocator (Ptr<Name> keyLocator)
+Data::SetKeyLocator (Ptr<Name> keyLocator)
 {
   m_keyLocator = keyLocator;
 }
 
 Ptr<const Name>
-ContentObject::GetKeyLocator () const
+Data::GetKeyLocator () const
 {
   return m_keyLocator;
 }
 
 void
-ContentObject::Print (std::ostream &os) const
+Data::Print (std::ostream &os) const
 {
   os << "D: " << GetName ();
-  // os << "<ContentObject><Name>" << GetName () << "</Name><Content>";
+  // os << "<Data><Name>" << GetName () << "</Name><Content>";
 }
 
 void
-ContentObject::SetPayload (Ptr<Packet> payload)
+Data::SetPayload (Ptr<Packet> payload)
 {
   m_payload = payload;
   m_wire = 0;
 }
 
 Ptr<const Packet>
-ContentObject::GetPayload () const
+Data::GetPayload () const
 {
   return m_payload;
 }
diff --git a/model/ndn-content-object.h b/model/ndn-content-object.h
index 859543b..4d51d37 100644
--- a/model/ndn-content-object.h
+++ b/model/ndn-content-object.h
@@ -34,9 +34,9 @@
 
 /**
  * @ingroup ndn
- * @brief ContentObject header
+ * @brief Data header
  */
-class ContentObject : public SimpleRefCount<ContentObject>
+class Data : public SimpleRefCount<Data>
 {
 public:
   /**
@@ -44,12 +44,12 @@
    *
    * Creates a null header
    **/
-  ContentObject (Ptr<Packet> payload = Create<Packet> ());
+  Data (Ptr<Packet> payload = Create<Packet> ());
 
   /**
    * @brief Copy constructor
    */
-  ContentObject (const ContentObject &other);
+  Data (const Data &other);
 
   /**
    * \brief Set content object name
@@ -176,8 +176,8 @@
   
 private:
   // NO_ASSIGN
-  ContentObject &
-  operator = (const ContentObject &other) { return *this; }
+  Data &
+  operator = (const Data &other) { return *this; }
   
 private:
   Ptr<Name> m_name;
@@ -191,25 +191,25 @@
 };
 
 inline std::ostream &
-operator << (std::ostream &os, const ContentObject &d)
+operator << (std::ostream &os, const Data &d)
 {
   d.Print (os);
   return os;
 }
 
 /**
- * @brief Class for ContentObject parsing exception
+ * @brief Class for Data parsing exception
  */
-class ContentObjectException {};
+class DataException {};
 
 inline Ptr<const Packet>
-ContentObject::GetWire () const
+Data::GetWire () const
 {
   return m_wire;
 }
 
 inline void
-ContentObject::SetWire (Ptr<const Packet> packet) const
+Data::SetWire (Ptr<const Packet> packet) const
 {
   m_wire = packet;
 }
diff --git a/model/ndn-face.cc b/model/ndn-face.cc
index 57a8c4d..72b490e 100644
--- a/model/ndn-face.cc
+++ b/model/ndn-face.cc
@@ -69,7 +69,7 @@
 Face::Face (Ptr<Node> node)
   : m_node (node)
   , m_upstreamInterestHandler (MakeNullCallback< void, Ptr<Face>, Ptr<Interest> > ())
-  , m_upstreamDataHandler (MakeNullCallback< void, Ptr<Face>, Ptr<ContentObject> > ())
+  , m_upstreamDataHandler (MakeNullCallback< void, Ptr<Face>, Ptr<Data> > ())
   , m_ifup (false)
   , m_id ((uint32_t)-1)
   , m_metric (0)
@@ -115,7 +115,7 @@
   NS_LOG_FUNCTION_NOARGS ();
 
   m_upstreamInterestHandler = MakeNullCallback< void, Ptr<Face>, Ptr<Interest> > ();
-  m_upstreamDataHandler = MakeNullCallback< void, Ptr<Face>, Ptr<ContentObject> > ();
+  m_upstreamDataHandler = MakeNullCallback< void, Ptr<Face>, Ptr<Data> > ();
 }
 
 
@@ -133,7 +133,7 @@
 }
 
 bool
-Face::SendData (Ptr<const ContentObject> data)
+Face::SendData (Ptr<const Data> data)
 {
   NS_LOG_FUNCTION (this << data);
 
@@ -214,7 +214,7 @@
 }
 
 bool
-Face::ReceiveData (Ptr<ContentObject> data)
+Face::ReceiveData (Ptr<Data> data)
 {
   if (!IsUp ())
     {
diff --git a/model/ndn-face.h b/model/ndn-face.h
index c2e3ca4..a166a7b 100644
--- a/model/ndn-face.h
+++ b/model/ndn-face.h
@@ -39,7 +39,7 @@
 namespace ndn {
 
 class Interest;
-class ContentObject;
+class Data;
 
 /**
  * \ingroup ndn
@@ -69,7 +69,7 @@
    * \param packet Original packet
    */
   typedef Callback<void, Ptr<Face>, Ptr<Interest> > InterestHandler;
-  typedef Callback<void, Ptr<Face>, Ptr<ContentObject> > DataHandler;
+  typedef Callback<void, Ptr<Face>, Ptr<Data> > DataHandler;
 
   /**
    * \brief Default constructor
@@ -119,7 +119,7 @@
    * @returns true if Data packet is considered to be send out (enqueued)
    */
   virtual bool
-  SendData (Ptr<const ContentObject> data);
+  SendData (Ptr<const Data> data);
 
   /**
    * \brief Receive interest from application or another node and forward it up to the NDN stack
@@ -135,7 +135,7 @@
    * By default it is called from inside Receive method, but can be used directly, if appropriate
    */
   virtual bool
-  ReceiveData (Ptr<ContentObject> data);
+  ReceiveData (Ptr<Data> data);
   ////////////////////////////////////////////////////////////////////
 
   /**
diff --git a/model/pit/ndn-pit-impl.h b/model/pit/ndn-pit-impl.h
index 6a8dfcd..85f11c8 100644
--- a/model/pit/ndn-pit-impl.h
+++ b/model/pit/ndn-pit-impl.h
@@ -81,7 +81,7 @@
 
   // inherited from Pit
   virtual Ptr<Entry>
-  Lookup (const ContentObject &header);
+  Lookup (const Data &header);
 
   virtual Ptr<Entry>
   Lookup (const Interest &header);
@@ -300,7 +300,7 @@
 
 template<class Policy>
 Ptr<Entry>
-PitImpl<Policy>::Lookup (const ContentObject &header)
+PitImpl<Policy>::Lookup (const Data &header)
 {
   /// @todo use predicate to search with exclude filters
   typename super::iterator item = super::longest_prefix_match_if (header.GetName (), EntryIsNotEmpty ());
diff --git a/model/pit/ndn-pit.h b/model/pit/ndn-pit.h
index 0699479..1185892 100644
--- a/model/pit/ndn-pit.h
+++ b/model/pit/ndn-pit.h
@@ -44,11 +44,11 @@
 
 class L3Protocol;
 class Face;
-class ContentObject;
+class Data;
 class Interest;
 
 typedef Interest InterestHeader;
-typedef ContentObject ContentObjectHeader;
+typedef Data DataHeader;
 
 ////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////
@@ -89,7 +89,7 @@
    *          returns 0
    */
   virtual Ptr<pit::Entry>
-  Lookup (const ContentObject &header) = 0;
+  Lookup (const Data &header) = 0;
 
   /**
    * \brief Find a PIT entry for the given content interest
diff --git a/model/wire/ccnb.h b/model/wire/ccnb.h
index 9b920b9..a561643 100644
--- a/model/wire/ccnb.h
+++ b/model/wire/ccnb.h
@@ -67,15 +67,15 @@
 {
 public:
   Data ();
-  Data (Ptr<ndn::ContentObject> data);
+  Data (Ptr<ndn::Data> data);
 
-  Ptr<ndn::ContentObject>
+  Ptr<ndn::Data>
   GetData ();
 
   static Ptr<Packet>
-  ToWire (Ptr<const ndn::ContentObject> data);
+  ToWire (Ptr<const ndn::Data> data);
 
-  static Ptr<ndn::ContentObject>
+  static Ptr<ndn::Data>
   FromWire (Ptr<Packet> packet);
   
   // from Header
@@ -87,7 +87,7 @@
   virtual uint32_t Deserialize (Buffer::Iterator start);
 
 private:
-  Ptr<ndn::ContentObject> m_data;  
+  Ptr<ndn::Data> m_data;  
 };
 
 } // ccnb
diff --git a/model/wire/ccnb/ccnb-parser/common.h b/model/wire/ccnb/ccnb-parser/common.h
index 531cd87..1485b96 100644
--- a/model/wire/ccnb/ccnb-parser/common.h
+++ b/model/wire/ccnb/ccnb-parser/common.h
@@ -116,7 +116,7 @@
   CCN_DTAG_PublisherCertificateDigest = 61,
   CCN_DTAG_PublisherIssuerKeyDigest = 62,
   CCN_DTAG_PublisherIssuerCertificateDigest = 63,
-  CCN_DTAG_ContentObject = 64,	/* 20090915 */
+  CCN_DTAG_Data = 64,	/* 20090915 */
   CCN_DTAG_WrappedKey = 65,
   CCN_DTAG_WrappingKeyIdentifier = 66,
   CCN_DTAG_WrapAlgorithm = 67,
diff --git a/model/wire/ccnb/ccnb-parser/syntax-tree/dtag.cc b/model/wire/ccnb/ccnb-parser/syntax-tree/dtag.cc
index 3095747..0bf5296 100644
--- a/model/wire/ccnb/ccnb-parser/syntax-tree/dtag.cc
+++ b/model/wire/ccnb/ccnb-parser/syntax-tree/dtag.cc
@@ -62,7 +62,7 @@
   while (!start.IsEnd () && BufferIteratorPeekU8 (start)!=CCN_CLOSE)
     {
       // hack #2. Stop processing nested blocks if last block was <Content>
-      if (m_dtag == CCN_DTAG_ContentObject && // we are in <ContentObject>
+      if (m_dtag == CCN_DTAG_Data && // we are in <Data>
           DynamicCast<Dtag> (m_nestedTags.back())!=0 && // last block is DTAG
           DynamicCast<Dtag> (m_nestedTags.back())->m_dtag == CCN_DTAG_Content) 
         {
@@ -72,8 +72,8 @@
       m_nestedTags.push_back (Block::ParseBlock (start));
     }
 
-  // hack #3. Stop processing when last tag was <ContentObject>
-  if (m_dtag == CCN_DTAG_ContentObject && // we are in <ContentObject>
+  // hack #3. Stop processing when last tag was <Data>
+  if (m_dtag == CCN_DTAG_Data && // we are in <Data>
       DynamicCast<Dtag> (m_nestedTags.back())!=0 && // last block is DTAG
       DynamicCast<Dtag> (m_nestedTags.back())->m_dtag == CCN_DTAG_Content) 
     {
diff --git a/model/wire/ccnb/wire-ccnb-data.cc b/model/wire/ccnb/wire-ccnb-data.cc
index fb87899..6349971 100644
--- a/model/wire/ccnb/wire-ccnb-data.cc
+++ b/model/wire/ccnb/wire-ccnb-data.cc
@@ -85,7 +85,7 @@
     i.Prev (2); // Trailer interface requires us to go backwards
 
     i.WriteU8 (0x00); // </Content>
-    i.WriteU8 (0x00); // </ContentObject>
+    i.WriteU8 (0x00); // </Data>
   }
 
   virtual uint32_t Deserialize (Buffer::Iterator end)
@@ -97,7 +97,7 @@
     NS_ASSERT_MSG (closing_tag_content==0, "Should be a closing tag </Content> (0x00)");
 
     uint8_t closing_tag_content_object = i.ReadU8 ();
-    NS_ASSERT_MSG (closing_tag_content_object==0, "Should be a closing tag </ContentObject> (0x00)");
+    NS_ASSERT_MSG (closing_tag_content_object==0, "Should be a closing tag </Data> (0x00)");
 
     return 2;
   }
@@ -124,23 +124,23 @@
 }
 
 Data::Data ()
-  : m_data (Create<ndn::ContentObject> ())
+  : m_data (Create<ndn::Data> ())
 {
 }
 
-Data::Data (Ptr<ndn::ContentObject> data)
+Data::Data (Ptr<ndn::Data> data)
   : m_data (data)
 {
 }
 
-Ptr<ndn::ContentObject>
+Ptr<ndn::Data>
 Data::GetData ()
 {
   return m_data;
 }
 
 Ptr<Packet>
-Data::ToWire (Ptr<const ndn::ContentObject> data)
+Data::ToWire (Ptr<const ndn::Data> data)
 {
   static DataTrailer trailer;
 
@@ -148,7 +148,7 @@
   if (!p)
     {
       Ptr<Packet> packet = Create<Packet> (*data->GetPayload ());
-      Data wireEncoding (ConstCast<ndn::ContentObject> (data));
+      Data wireEncoding (ConstCast<ndn::Data> (data));
       packet->AddHeader (wireEncoding);
       packet->AddTrailer (trailer);
       data->SetWire (packet);
@@ -159,12 +159,12 @@
   return p->Copy ();
 }
 
-Ptr<ndn::ContentObject>
+Ptr<ndn::Data>
 Data::FromWire (Ptr<Packet> packet)
 {
   static DataTrailer trailer;
 
-  Ptr<ndn::ContentObject> data = Create<ndn::ContentObject> ();
+  Ptr<ndn::Data> data = Create<ndn::Data> ();
   data->SetWire (packet->Copy ());
 
   Data wireEncoding (data);
@@ -179,7 +179,7 @@
 void
 Data::Serialize (Buffer::Iterator start) const
 {
-  Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_ContentObject, CcnbParser::CCN_DTAG); // <ContentObject>
+  Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_Data, CcnbParser::CCN_DTAG); // <Data>
 
   // fake signature
   Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_Signature, CcnbParser::CCN_DTAG); // <Signature>
@@ -252,14 +252,14 @@
     Ccnb::AppendBlockHeader (start, payloadSize, CcnbParser::CCN_BLOB);
 
   // there are no closing tags !!!
-  // The closing tag is handled by ContentObjectTail
+  // The closing tag is handled by DataTail
 }
 
 uint32_t
 Data::GetSerializedSize () const
 {
   size_t written = 0;
-  written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_ContentObject); // <ContentObject>
+  written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_Data); // <Data>
 
   // fake signature
   written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_Signature); // <Signature>
@@ -331,14 +331,14 @@
     written += Ccnb::EstimateBlockHeader (payloadSize);
 
   // there are no closing tags !!!
-  // The closing tag is handled by ContentObjectTail
+  // The closing tag is handled by DataTail
   return written;
 }
 
-class ContentObjectVisitor : public CcnbParser::VoidDepthFirstVisitor
+class DataVisitor : public CcnbParser::VoidDepthFirstVisitor
 {
 public:
-  virtual void visit (CcnbParser::Dtag &n, boost::any param/*should be ContentObject* */)
+  virtual void visit (CcnbParser::Dtag &n, boost::any param/*should be Data* */)
   {
     // uint32_t n.m_dtag;
     // std::list< Ptr<CcnbParser::Block> > n.m_nestedBlocks;
@@ -349,11 +349,11 @@
     static CcnbParser::Uint32tBlobVisitor uint32tBlobVisitor;
     static CcnbParser::ContentTypeVisitor contentTypeVisitor;
 
-    ndn::ContentObject &contentObject = *(boost::any_cast<ndn::ContentObject*> (param));
+    ndn::Data &contentObject = *(boost::any_cast<ndn::Data*> (param));
 
     switch (n.m_dtag)
       {
-      case CcnbParser::CCN_DTAG_ContentObject:
+      case CcnbParser::CCN_DTAG_Data:
         // process nested blocks
         BOOST_FOREACH (Ptr<CcnbParser::Block> block, n.m_nestedTags)
           {
@@ -482,7 +482,7 @@
 uint32_t
 Data::Deserialize (Buffer::Iterator start)
 {
-  static ContentObjectVisitor contentObjectVisitor;
+  static DataVisitor contentObjectVisitor;
 
   Buffer::Iterator i = start;
   Ptr<CcnbParser::Block> root = CcnbParser::Block::ParseBlock (i);
@@ -495,7 +495,7 @@
 Data::Print (std::ostream &os) const
 {
   os << "D: " << m_data->GetName ();
-  // os << "<ContentObject><Name>" << GetName () << "</Name><Content>";
+  // os << "<Data><Name>" << GetName () << "</Name><Content>";
 }
 
 } // ccnb
diff --git a/model/wire/ndn-wire.cc b/model/wire/ndn-wire.cc
index b9164e4..ad8966f 100644
--- a/model/wire/ndn-wire.cc
+++ b/model/wire/ndn-wire.cc
@@ -113,7 +113,7 @@
 }
 
 Ptr<Packet>
-Wire::FromData (Ptr<const ContentObject> data, int8_t wireFormat/* = WIRE_FORMAT_DEFAULT*/)
+Wire::FromData (Ptr<const Data> data, int8_t wireFormat/* = WIRE_FORMAT_DEFAULT*/)
 {
   if (wireFormat == WIRE_FORMAT_DEFAULT)
     wireFormat = GetWireFormat ();
@@ -129,7 +129,7 @@
     }
 }
 
-Ptr<ContentObject>
+Ptr<Data>
 Wire::ToData (Ptr<Packet> packet, int8_t wireFormat/* = WIRE_FORMAT_AUTODETECT*/)
 {
   if (wireFormat == WIRE_FORMAT_AUTODETECT)
@@ -198,7 +198,7 @@
 }
 
 std::string
-Wire::FromDataStr (Ptr<const ContentObject> data, int8_t wireFormat/* = WIRE_FORMAT_DEFAULT*/)
+Wire::FromDataStr (Ptr<const Data> data, int8_t wireFormat/* = WIRE_FORMAT_DEFAULT*/)
 {
   Ptr<Packet> pkt = FromData (data, wireFormat);
   std::string wire;
@@ -208,7 +208,7 @@
   return wire;
 }
 
-Ptr<ContentObject>
+Ptr<Data>
 Wire::ToDataStr (const std::string &wire, int8_t type/* = WIRE_FORMAT_AUTODETECT*/)
 {
   Ptr<Packet> pkt = Create<Packet> (reinterpret_cast<const uint8_t*> (&wire[0]), wire.size ());
diff --git a/model/wire/ndn-wire.h b/model/wire/ndn-wire.h
index 768ccea..1bfba3d 100644
--- a/model/wire/ndn-wire.h
+++ b/model/wire/ndn-wire.h
@@ -38,9 +38,9 @@
   ToInterest (Ptr<Packet> packet, int8_t type = WIRE_FORMAT_AUTODETECT);
 
   static Ptr<Packet>
-  FromData (Ptr<const ContentObject> data, int8_t wireFormat = WIRE_FORMAT_DEFAULT);
+  FromData (Ptr<const Data> data, int8_t wireFormat = WIRE_FORMAT_DEFAULT);
 
-  static Ptr<ContentObject>
+  static Ptr<Data>
   ToData (Ptr<Packet> packet, int8_t type = WIRE_FORMAT_AUTODETECT);
 
 
@@ -52,9 +52,9 @@
   ToInterestStr (const std::string &wire, int8_t type = WIRE_FORMAT_AUTODETECT);
 
   static std::string
-  FromDataStr (Ptr<const ContentObject> data, int8_t wireFormat = WIRE_FORMAT_DEFAULT);
+  FromDataStr (Ptr<const Data> data, int8_t wireFormat = WIRE_FORMAT_DEFAULT);
 
-  static Ptr<ContentObject>
+  static Ptr<Data>
   ToDataStr (const std::string &wire, int8_t type = WIRE_FORMAT_AUTODETECT);
 
   // /*
diff --git a/model/wire/ndnsim.cc b/model/wire/ndnsim.cc
index 1c2d778..f1bbaf5 100644
--- a/model/wire/ndnsim.cc
+++ b/model/wire/ndnsim.cc
@@ -215,29 +215,29 @@
   
 
 Data::Data ()
-  : m_data (Create<ndn::ContentObject> ())
+  : m_data (Create<ndn::Data> ())
 {
 }
 
-Data::Data (Ptr<ndn::ContentObject> data)
+Data::Data (Ptr<ndn::Data> data)
   : m_data (data)
 {
 }
 
-Ptr<ndn::ContentObject>
+Ptr<ndn::Data>
 Data::GetData ()
 {
   return m_data;
 }
 
 Ptr<Packet>
-Data::ToWire (Ptr<const ndn::ContentObject> data)
+Data::ToWire (Ptr<const ndn::Data> data)
 {
   Ptr<const Packet> p = data->GetWire ();
   if (!p)
     {
       Ptr<Packet> packet = Create<Packet> (*data->GetPayload ());
-      Data wireEncoding (ConstCast<ndn::ContentObject> (data));
+      Data wireEncoding (ConstCast<ndn::Data> (data));
       packet->AddHeader (wireEncoding);
       data->SetWire (packet);
 
@@ -247,10 +247,10 @@
   return p->Copy ();
 }
 
-Ptr<ndn::ContentObject>
+Ptr<ndn::Data>
 Data::FromWire (Ptr<Packet> packet)
 {
-  Ptr<ndn::ContentObject> data = Create<ndn::ContentObject> ();
+  Ptr<ndn::Data> data = Create<ndn::Data> ();
   data->SetWire (packet->Copy ());
 
   Data wireEncoding (data);
@@ -315,10 +315,10 @@
   Buffer::Iterator i = start;
 
   if (i.ReadU8 () != 0x80)
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   if (i.ReadU8 () != 0x01)
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   i.ReadU16 (); // length
 
@@ -326,36 +326,36 @@
   if (signatureLength == 6)
     {
       if (i.ReadU16 () != 0xFF00) // signature type
-        throw new ContentObjectException ();
+        throw new DataException ();
       m_data->SetSignature (i.ReadU32 ());
     }
   else if (signatureLength == 2)
     {
       if (i.ReadU16 () != 0) // signature type
-        throw new ContentObjectException ();
+        throw new DataException ();
       m_data->SetSignature (0);
     }
   else
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   m_data->SetName (NdnSim::DeserializeName (i));
 
   if (i.ReadU16 () != (2 + 4 + 2 + 2 + (2 + 0))) // content length
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   if (i.ReadU16 () != (4 + 2 + 2 + (2 + 0))) // Length (content Info)
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   m_data->SetTimestamp (Seconds (i.ReadU32 ()));
   m_data->SetFreshness (Seconds (i.ReadU16 ()));
 
   if (i.ReadU16 () != 0) // Reserved
-    throw new ContentObjectException ();
+    throw new DataException ();
   if (i.ReadU16 () != 0) // Length (ContentInfoOptions)
-    throw new ContentObjectException ();
+    throw new DataException ();
 
   NS_ASSERT_MSG (i.GetDistanceFrom (start) == GetSerializedSize (),
-                 "Something wrong with ContentObject::Deserialize");
+                 "Something wrong with Data::Deserialize");
   
   return i.GetDistanceFrom (start);
 }
diff --git a/model/wire/ndnsim.h b/model/wire/ndnsim.h
index 417edba..f0be388 100644
--- a/model/wire/ndnsim.h
+++ b/model/wire/ndnsim.h
@@ -105,7 +105,7 @@
  *
  * @see http://ndnsim.net/new-packet-formats.html
  *
- *	ContentObject ::= Signature
+ *	Data ::= Signature
  *                	  Name
  *                   	  Content
  *
@@ -136,15 +136,15 @@
 {
 public:
   Data ();
-  Data (Ptr<ndn::ContentObject> data);
+  Data (Ptr<ndn::Data> data);
 
-  Ptr<ndn::ContentObject>
+  Ptr<ndn::Data>
   GetData ();
 
   static Ptr<Packet>
-  ToWire (Ptr<const ndn::ContentObject> data);
+  ToWire (Ptr<const ndn::Data> data);
 
-  static Ptr<ndn::ContentObject>
+  static Ptr<ndn::Data>
   FromWire (Ptr<Packet> packet);
   
   // from Header
@@ -156,7 +156,7 @@
   virtual uint32_t Deserialize (Buffer::Iterator start);
 
 private:
-  Ptr<ndn::ContentObject> m_data;  
+  Ptr<ndn::Data> m_data;  
 };
 
 } // ndnSIM
diff --git a/ndn.cxx/ndn-api-face.cc b/ndn.cxx/ndn-api-face.cc
index 578f424..6e8ba7f 100644
--- a/ndn.cxx/ndn-api-face.cc
+++ b/ndn.cxx/ndn-api-face.cc
@@ -154,7 +154,7 @@
 }
 
 void
-ApiFace::Put (Ptr<ContentObject> data)
+ApiFace::Put (Ptr<Data> data)
 {
   NS_LOG_INFO (">> D " << data->GetName ());
   
@@ -193,7 +193,7 @@
 }
 
 bool
-ApiFace::SendData (Ptr<const ContentObject> data)
+ApiFace::SendData (Ptr<const Data> data)
 {
   // data has been send out from NDN stack towards the application
   NS_LOG_DEBUG ("<< D " << data->GetName ());
diff --git a/ndn.cxx/ndn-api-face.h b/ndn.cxx/ndn-api-face.h
index ac735c9..4ff7a13 100644
--- a/ndn.cxx/ndn-api-face.h
+++ b/ndn.cxx/ndn-api-face.h
@@ -53,7 +53,7 @@
 {
 public:
   typedef Callback<void, Ptr<const Name>,     Ptr<const Interest> > InterestCallback;
-  typedef Callback<void, Ptr<const Interest>, Ptr<const ContentObject> > DataCallback;
+  typedef Callback<void, Ptr<const Interest>, Ptr<const Data> > DataCallback;
   typedef Callback<void, Ptr<const Interest> > TimeoutCallback;
 
   /**
@@ -103,14 +103,14 @@
    * @param data Data packet to publish
    */
   void
-  Put (Ptr<ContentObject> data);
+  Put (Ptr<Data> data);
 
 public:
   virtual bool
   SendInterest (Ptr<const Interest> interest);
 
   virtual bool
-  SendData (Ptr<const ContentObject> data);
+  SendData (Ptr<const Data> data);
 
   virtual std::ostream&
   Print (std::ostream &os) const;
diff --git a/plugins/ip-faces/ndn-ip-face-stack.h b/plugins/ip-faces/ndn-ip-face-stack.h
index ecb80b6..95ea73d 100644
--- a/plugins/ip-faces/ndn-ip-face-stack.h
+++ b/plugins/ip-faces/ndn-ip-face-stack.h
@@ -44,7 +44,7 @@
  * @ingroup ndn
  * @brief Application that provides functionality of creating IP-based faces on NDN nodes
  *
- * The class implements virtual calls onInterest, onNack, and onContentObject
+ * The class implements virtual calls onInterest, onNack, and onData
  */
 class IpFaceStack: public Object
 {
diff --git a/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.cc b/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.cc
index ffda6f8..a7f254b 100644
--- a/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.cc
+++ b/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.cc
@@ -135,7 +135,7 @@
 
 void
 CcnxAggregateAppTracer::OutData (std::string context,
-                                 Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                                 Ptr<const CcnxData> header, Ptr<const Packet> payload,
                                  Ptr<CcnxApp>, Ptr<CcnxFace>)
 {
   m_outData++;
@@ -162,7 +162,7 @@
   
 void
 CcnxAggregateAppTracer::InData (std::string context,
-                                Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                                Ptr<const CcnxData> header, Ptr<const Packet> payload,
                                 Ptr<CcnxApp>, Ptr<CcnxFace>)
 {
   m_inData++;
diff --git a/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.h b/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.h
index f5931f9..a0e52fb 100644
--- a/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-aggregate-app-tracer.h
@@ -52,11 +52,11 @@
 
   virtual void
   OutData (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
   
   virtual void
   InData  (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
 
 protected:
   void
diff --git a/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.cc b/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.cc
index 5a98610..030d308 100644
--- a/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.cc
+++ b/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.cc
@@ -173,7 +173,7 @@
 
 void
 CcnxAggregateL3Tracer::OutData  (std::string context,
-                                 Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                                 Ptr<const CcnxData> header, Ptr<const Packet> payload,
                                  bool fromCache, Ptr<const CcnxFace>)
 {
   m_packets.m_outData++;
@@ -182,7 +182,7 @@
 
 void
 CcnxAggregateL3Tracer::InData   (std::string context,
-                                 Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                                 Ptr<const CcnxData> header, Ptr<const Packet> payload,
                                  Ptr<const CcnxFace>)
 {
   m_packets.m_inData++;
@@ -191,7 +191,7 @@
 
 void
 CcnxAggregateL3Tracer::DropData (std::string context,
-                                 Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                                 Ptr<const CcnxData> header, Ptr<const Packet> payload,
                                  Ccnx::DropReason, Ptr<const CcnxFace>)
 {
   m_packets.m_dropData++;
diff --git a/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.h b/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.h
index f9ae117..f64062c 100644
--- a/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-aggregate-l3-tracer.h
@@ -64,15 +64,15 @@
   
   virtual void
   OutData  (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>);
 
   virtual void
   InData   (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, Ptr<const CcnxFace>);
 
   virtual void
   DropData (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>);
 
 protected:
   void
diff --git a/plugins/tracers-broken/tracers/ccnx-app-tracer.cc b/plugins/tracers-broken/tracers/ccnx-app-tracer.cc
index a2bbbdd..879e48e 100644
--- a/plugins/tracers-broken/tracers/ccnx-app-tracer.cc
+++ b/plugins/tracers-broken/tracers/ccnx-app-tracer.cc
@@ -74,10 +74,10 @@
   Config::Connect ("/NodeList/"+m_node+"/ApplicationList/"+m_appId+"/$"+m_app+"/ReceivedInterests",
                    MakeCallback (&CcnxAppTracer::InInterests, this));
   
-  Config::Connect ("/NodeList/"+m_node+"/ApplicationList/"+m_appId+"/$"+m_app+"/TransmittedContentObjects",
+  Config::Connect ("/NodeList/"+m_node+"/ApplicationList/"+m_appId+"/$"+m_app+"/TransmittedDatas",
                    MakeCallback (&CcnxAppTracer::OutData, this));
 
-  Config::Connect ("/NodeList/"+m_node+"/ApplicationList/"+m_appId+"/$"+m_app+"/ReceivedContentObjects",
+  Config::Connect ("/NodeList/"+m_node+"/ApplicationList/"+m_appId+"/$"+m_app+"/ReceivedDatas",
                    MakeCallback (&CcnxAppTracer::InData, this));
 }
 
diff --git a/plugins/tracers-broken/tracers/ccnx-app-tracer.h b/plugins/tracers-broken/tracers/ccnx-app-tracer.h
index f642c1b..affb98b 100644
--- a/plugins/tracers-broken/tracers/ccnx-app-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-app-tracer.h
@@ -59,11 +59,11 @@
 
   virtual void
   OutData (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>) = 0;
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>) = 0;
   
   virtual void
   InData  (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>) = 0;
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>) = 0;
 
 protected:
   std::string m_app;
diff --git a/plugins/tracers-broken/tracers/ccnx-l3-tracer.h b/plugins/tracers-broken/tracers/ccnx-l3-tracer.h
index 967c006..ae4cea1 100644
--- a/plugins/tracers-broken/tracers/ccnx-l3-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-l3-tracer.h
@@ -72,15 +72,15 @@
   
   virtual void
   OutData  (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>) = 0;
+            Ptr<const CcnxData>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>) = 0;
 
   virtual void
   InData   (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<const CcnxFace>) = 0;
+            Ptr<const CcnxData>, Ptr<const Packet>, Ptr<const CcnxFace>) = 0;
 
   virtual void
   DropData (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>) = 0;
+            Ptr<const CcnxData>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>) = 0;
 
 protected:
   std::string m_node;
diff --git a/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.cc b/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.cc
index 80ac391..9d79d72 100644
--- a/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.cc
+++ b/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.cc
@@ -185,7 +185,7 @@
 
 void
 CcnxRateL3Tracer::OutData  (std::string context,
-                            Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                            Ptr<const CcnxData> header, Ptr<const Packet> payload,
                             bool fromCache, Ptr<const CcnxFace> face)
 {
   m_stats[face].get<0> ().m_inData ++;
@@ -194,7 +194,7 @@
 
 void
 CcnxRateL3Tracer::InData   (std::string context,
-                            Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                            Ptr<const CcnxData> header, Ptr<const Packet> payload,
                             Ptr<const CcnxFace> face)
 {
   m_stats[face].get<0> ().m_outData ++;
@@ -203,7 +203,7 @@
 
 void
 CcnxRateL3Tracer::DropData (std::string context,
-                            Ptr<const CcnxContentObject> header, Ptr<const Packet> payload,
+                            Ptr<const CcnxData> header, Ptr<const Packet> payload,
                             Ccnx::DropReason, Ptr<const CcnxFace> face)
 {
   m_stats[face].get<0> ().m_dropData ++;
diff --git a/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.h b/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.h
index d19a86d..a93a305 100644
--- a/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-rate-l3-tracer.h
@@ -80,15 +80,15 @@
   
   virtual void
   OutData  (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, bool fromCache, Ptr<const CcnxFace>);
 
   virtual void
   InData   (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, Ptr<const CcnxFace>);
 
   virtual void
   DropData (std::string context,
-            Ptr<const CcnxContentObject>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>);
+            Ptr<const CcnxData>, Ptr<const Packet>, Ccnx::DropReason, Ptr<const CcnxFace>);
 
 private:
   void
diff --git a/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.cc b/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.cc
index b8229b2..f974976 100644
--- a/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.cc
+++ b/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.cc
@@ -83,7 +83,7 @@
 
 void
 CcnxSeqsAppTracer::OutData (std::string context,
-                            Ptr<const CcnxContentObject> header, Ptr<const Packet>,
+                            Ptr<const CcnxData> header, Ptr<const Packet>,
                             Ptr<CcnxApp>, Ptr<CcnxFace>)
 {
   PRINTER ("OutData");
@@ -107,7 +107,7 @@
   
 void
 CcnxSeqsAppTracer::InData (std::string context,
-                           Ptr<const CcnxContentObject> header, Ptr<const Packet>,
+                           Ptr<const CcnxData> header, Ptr<const Packet>,
                            Ptr<CcnxApp>, Ptr<CcnxFace>)
 {
   PRINTER ("InData");
diff --git a/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.h b/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.h
index 59d992f..404c7a2 100644
--- a/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.h
+++ b/plugins/tracers-broken/tracers/ccnx-seqs-app-tracer.h
@@ -52,11 +52,11 @@
 
   virtual void
   OutData (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
   
   virtual void
   InData  (std::string context,
-           Ptr<const CcnxContentObject>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
+           Ptr<const CcnxData>, Ptr<const Packet>, Ptr<CcnxApp>, Ptr<CcnxFace>);
 
 protected:
   void
diff --git a/test/ndnSIM-api.cc b/test/ndnSIM-api.cc
index b472850..e1bd2aa 100644
--- a/test/ndnSIM-api.cc
+++ b/test/ndnSIM-api.cc
@@ -59,7 +59,7 @@
 
 private:
   void
-  GotData (Ptr<const ndn::Interest>, Ptr<const ndn::ContentObject>)
+  GotData (Ptr<const ndn::Interest>, Ptr<const ndn::Data>)
   {
     datas++;
   }
diff --git a/test/ndnSIM-serialization.cc b/test/ndnSIM-serialization.cc
index 70a10a7..fee40b1 100644
--- a/test/ndnSIM-serialization.cc
+++ b/test/ndnSIM-serialization.cc
@@ -98,9 +98,9 @@
 }
 
 void
-ContentObjectSerializationTest::DoRun ()
+DataSerializationTest::DoRun ()
 {
-  Ptr<ContentObject> source = Create<ContentObject> (Create<Packet> (1024));
+  Ptr<Data> source = Create<Data> (Create<Packet> (1024));
   
   source->SetName (Create<Name> (boost::lexical_cast<Name> ("/test/test2/1")));
   NS_TEST_ASSERT_MSG_EQ (source->GetName (), boost::lexical_cast<Name> ("/test/test2/1"), "set/get name failed");
@@ -122,7 +122,7 @@
   packet = wire::ndnSIM::Data::ToWire (source);
   NS_TEST_ASSERT_MSG_EQ (packet->GetSize (), static_cast<unsigned int> (size + 4), "Signature size should have increased by 4");
 
-  Ptr<ContentObject> target = wire::ndnSIM::Data::FromWire (packet);
+  Ptr<Data> target = wire::ndnSIM::Data::FromWire (packet);
   
   NS_TEST_ASSERT_MSG_EQ (source->GetName ()     , target->GetName ()     , "source/target name failed");
   NS_TEST_ASSERT_MSG_EQ (source->GetFreshness (), target->GetFreshness (), "source/target freshness failed");
diff --git a/test/ndnSIM-serialization.h b/test/ndnSIM-serialization.h
index ff52fd2..6d2015b 100644
--- a/test/ndnSIM-serialization.h
+++ b/test/ndnSIM-serialization.h
@@ -39,11 +39,11 @@
   virtual void DoRun ();
 };
 
-class ContentObjectSerializationTest : public TestCase
+class DataSerializationTest : public TestCase
 {
 public:
-  ContentObjectSerializationTest ()
-    : TestCase ("ContentObject Serialization Test")
+  DataSerializationTest ()
+    : TestCase ("Data Serialization Test")
   {
   }
     
diff --git a/test/ndnSIM-tests.cc b/test/ndnSIM-tests.cc
index face35e..c6b4d6e 100644
--- a/test/ndnSIM-tests.cc
+++ b/test/ndnSIM-tests.cc
@@ -38,7 +38,7 @@
     SetDataDir (NS_TEST_SOURCEDIR);
 
     AddTestCase (new InterestSerializationTest (), TestCase::QUICK);
-    AddTestCase (new ContentObjectSerializationTest (), TestCase::QUICK);
+    AddTestCase (new DataSerializationTest (), TestCase::QUICK);
     AddTestCase (new FibEntryTest (), TestCase::QUICK);
     AddTestCase (new PitTest (), TestCase::QUICK);
     AddTestCase (new ApiTest (), TestCase::QUICK);
diff --git a/utils/tracers/ndn-cs-tracer.cc b/utils/tracers/ndn-cs-tracer.cc
index 10b7448..bf7df69 100644
--- a/utils/tracers/ndn-cs-tracer.cc
+++ b/utils/tracers/ndn-cs-tracer.cc
@@ -276,7 +276,7 @@
 }
 
 void 
-CsTracer::CacheHits (Ptr<const Interest>, Ptr<const ContentObject>)
+CsTracer::CacheHits (Ptr<const Interest>, Ptr<const Data>)
 {
   m_stats.m_cacheHits ++;
 }
diff --git a/utils/tracers/ndn-cs-tracer.h b/utils/tracers/ndn-cs-tracer.h
index 906e85a..fc8e0fc 100644
--- a/utils/tracers/ndn-cs-tracer.h
+++ b/utils/tracers/ndn-cs-tracer.h
@@ -41,10 +41,10 @@
 namespace ndn {
 
 class Interest;
-class ContentObject;
+class Data;
 
 typedef Interest InterestHeader;
-typedef ContentObject ContentObjectHeader;
+typedef Data DataHeader;
 
 namespace cs {
 
@@ -164,7 +164,7 @@
   Connect ();
 
   void 
-  CacheHits (Ptr<const Interest>, Ptr<const ContentObject>);
+  CacheHits (Ptr<const Interest>, Ptr<const Data>);
   
   void 
   CacheMisses (Ptr<const Interest>);
diff --git a/utils/tracers/ndn-l3-aggregate-tracer.cc b/utils/tracers/ndn-l3-aggregate-tracer.cc
index d1150ae..050e63b 100644
--- a/utils/tracers/ndn-l3-aggregate-tracer.cc
+++ b/utils/tracers/ndn-l3-aggregate-tracer.cc
@@ -358,7 +358,7 @@
 }
 
 void
-L3AggregateTracer::OutData  (Ptr<const ContentObject> data, 
+L3AggregateTracer::OutData  (Ptr<const Data> data, 
                              bool fromCache, Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_outData ++;
@@ -369,7 +369,7 @@
 }
 
 void
-L3AggregateTracer::InData   (Ptr<const ContentObject> data, 
+L3AggregateTracer::InData   (Ptr<const Data> data, 
                              Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_inData ++;
@@ -380,7 +380,7 @@
 }
 
 void
-L3AggregateTracer::DropData (Ptr<const ContentObject> data, 
+L3AggregateTracer::DropData (Ptr<const Data> data, 
                              Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_dropData ++;
diff --git a/utils/tracers/ndn-l3-aggregate-tracer.h b/utils/tracers/ndn-l3-aggregate-tracer.h
index fdbf23c..ca6b35a 100644
--- a/utils/tracers/ndn-l3-aggregate-tracer.h
+++ b/utils/tracers/ndn-l3-aggregate-tracer.h
@@ -142,13 +142,13 @@
   DropNacks (Ptr<const Interest>, Ptr<const Face>);
 
   virtual void
-  OutData  (Ptr<const ContentObject>, bool fromCache, Ptr<const Face>);
+  OutData  (Ptr<const Data>, bool fromCache, Ptr<const Face>);
 
   virtual void
-  InData   (Ptr<const ContentObject>, Ptr<const Face>);
+  InData   (Ptr<const Data>, Ptr<const Face>);
 
   virtual void
-  DropData (Ptr<const ContentObject>, Ptr<const Face>);
+  DropData (Ptr<const Data>, Ptr<const Face>);
 
 
   virtual void
diff --git a/utils/tracers/ndn-l3-rate-tracer.cc b/utils/tracers/ndn-l3-rate-tracer.cc
index 8f91f6f..3d9a1f4 100644
--- a/utils/tracers/ndn-l3-rate-tracer.cc
+++ b/utils/tracers/ndn-l3-rate-tracer.cc
@@ -375,7 +375,7 @@
 }
 
 void
-L3RateTracer::OutData  (Ptr<const ContentObject> data,
+L3RateTracer::OutData  (Ptr<const Data> data,
                         bool fromCache, Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_outData ++;
@@ -386,7 +386,7 @@
 }
 
 void
-L3RateTracer::InData   (Ptr<const ContentObject> data,
+L3RateTracer::InData   (Ptr<const Data> data,
                         Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_inData ++;
@@ -397,7 +397,7 @@
 }
 
 void
-L3RateTracer::DropData (Ptr<const ContentObject> data,
+L3RateTracer::DropData (Ptr<const Data> data,
                         Ptr<const Face> face)
 {
   m_stats[face].get<0> ().m_dropData ++;
diff --git a/utils/tracers/ndn-l3-rate-tracer.h b/utils/tracers/ndn-l3-rate-tracer.h
index 9df79b1..d2f965b 100644
--- a/utils/tracers/ndn-l3-rate-tracer.h
+++ b/utils/tracers/ndn-l3-rate-tracer.h
@@ -144,13 +144,13 @@
   DropNacks (Ptr<const Interest>, Ptr<const Face>);
 
   virtual void
-  OutData  (Ptr<const ContentObject>, bool fromCache, Ptr<const Face>);
+  OutData  (Ptr<const Data>, bool fromCache, Ptr<const Face>);
 
   virtual void
-  InData   (Ptr<const ContentObject>, Ptr<const Face>);
+  InData   (Ptr<const Data>, Ptr<const Face>);
 
   virtual void
-  DropData (Ptr<const ContentObject>, Ptr<const Face>);
+  DropData (Ptr<const Data>, Ptr<const Face>);
 
   virtual void
   SatisfiedInterests (Ptr<const pit::Entry>);
diff --git a/utils/tracers/ndn-l3-tracer.h b/utils/tracers/ndn-l3-tracer.h
index ee525ed..2f132bd 100644
--- a/utils/tracers/ndn-l3-tracer.h
+++ b/utils/tracers/ndn-l3-tracer.h
@@ -43,7 +43,7 @@
 class Face;
 
 class Interest;
-class ContentObject;
+class Data;
 
 /**
  * @ingroup ndn-tracers
@@ -109,13 +109,13 @@
 
 
   virtual void
-  OutData  (Ptr<const ContentObject>, bool fromCache, Ptr<const Face>) = 0;
+  OutData  (Ptr<const Data>, bool fromCache, Ptr<const Face>) = 0;
 
   virtual void
-  InData   (Ptr<const ContentObject>, Ptr<const Face>) = 0;
+  InData   (Ptr<const Data>, Ptr<const Face>) = 0;
 
   virtual void
-  DropData (Ptr<const ContentObject>, Ptr<const Face>) = 0;
+  DropData (Ptr<const Data>, Ptr<const Face>) = 0;
 
   virtual void
   SatisfiedInterests (Ptr<const pit::Entry>) = 0;