Now everything compiles, but not everything is working yet
diff --git a/test/ndnSIM-pit.cc b/test/ndnSIM-pit.cc
index 38016e4..c439adc 100644
--- a/test/ndnSIM-pit.cc
+++ b/test/ndnSIM-pit.cc
@@ -29,17 +29,17 @@
 namespace ns3
 {
 
-class Client : public NdnApp
+class Client : public ndn::App
 {
 protected:
   void
   StartApplication ()
   {
-    NdnApp::StartApplication ();
+    ndn::App::StartApplication ();
 
     // add default route
-    Ptr<NdnFibEntry> fibEntry = GetNode ()->GetObject<NdnFib> ()->Add (NdnNameComponents ("/"), m_face, 0);
-    fibEntry->UpdateStatus (m_face, NdnFibFaceMetric::NDN_FIB_GREEN);
+    Ptr<ndn::fib::Entry> fibEntry = GetNode ()->GetObject<ndn::Fib> ()->Add (ndn::NameComponents ("/"), m_face, 0);
+    fibEntry->UpdateStatus (m_face, ndn::fib::FaceMetric::NDN_FIB_GREEN);
     
     Simulator::Schedule (Seconds (0.1), &Client::SendPacket, this, std::string("/1"), 1);
     Simulator::Schedule (Seconds (0.2), &Client::SendPacket, this, std::string("/2"), 1);
@@ -50,7 +50,7 @@
   void
   StopApplication ()
   {
-    NdnApp::StopApplication ();
+    ndn::App::StopApplication ();
   }
 
 private:
@@ -58,8 +58,8 @@
   SendPacket (const std::string &prefix, uint32_t nonce)
   {
     Ptr<Packet> pkt = Create<Packet> (0);
-    NdnInterestHeader i;
-    i.SetName (Create<NdnNameComponents> (prefix));
+    ndn::InterestHeader i;
+    i.SetName (Create<ndn::NameComponents> (prefix));
     i.SetNonce (nonce);
     i.SetInterestLifetime (Seconds (0.5));
 
@@ -69,38 +69,38 @@
 };
 
 void
-PitTest::Test (Ptr<NdnFib> fib)
+PitTest::Test (Ptr<ndn::Fib> fib)
 {
   NS_TEST_ASSERT_MSG_EQ (fib->GetSize (), 1, "There should be only one entry");
 
-  Ptr<const NdnFibEntry> fibEntry = fib->Begin ();
-  NS_TEST_ASSERT_MSG_EQ (fibEntry->GetPrefix (), NdnNameComponents ("/"), "prefix should be /");
+  Ptr<const ndn::fib::Entry> fibEntry = fib->Begin ();
+  NS_TEST_ASSERT_MSG_EQ (fibEntry->GetPrefix (), ndn::NameComponents ("/"), "prefix should be /");
 }
 
 void
-PitTest::Check0 (Ptr<NdnPit> pit)
+PitTest::Check0 (Ptr<ndn::Pit> pit)
 {
-  // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
+  // NS_LOG_DEBUG (*GetNode ()->GetObject<ndn::Pit> ());
   NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 0, "There should 0 entries in PIT");
 }
 
 void
-PitTest::Check1 (Ptr<NdnPit> pit)
+PitTest::Check1 (Ptr<ndn::Pit> pit)
 {
   NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 1, "There should 1 entry in PIT");
 }
 
 void
-PitTest::Check2 (Ptr<NdnPit> pit)
+PitTest::Check2 (Ptr<ndn::Pit> pit)
 {
-  // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
+  // NS_LOG_DEBUG (*GetNode ()->GetObject<ndn::Pit> ());
   NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 2, "There should 2 entries in PIT");
 }
 
 void
-PitTest::Check3 (Ptr<NdnPit> pit)
+PitTest::Check3 (Ptr<ndn::Pit> pit)
 {
-  // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
+  // NS_LOG_DEBUG (*GetNode ()->GetObject<ndn::Pit> ());
   NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 3, "There should 3 entries in PIT");
 }
 
@@ -109,25 +109,25 @@
 PitTest::DoRun ()
 {
   Ptr<Node> node = CreateObject<Node> ();
-  NdnStackHelper ndn;
+  ndn::StackHelper ndn;
   ndn.Install (node);
 
   Ptr<Client> app1 = CreateObject<Client> ();
   node->AddApplication (app1);
 
-  Simulator::Schedule (Seconds (0.0001), &PitTest::Test, this, node->GetObject<NdnFib> ());
+  Simulator::Schedule (Seconds (0.0001), &PitTest::Test, this, node->GetObject<ndn::Fib> ());
     
-  Simulator::Schedule (Seconds (0.01), &PitTest::Check0, this, node->GetObject<NdnPit> ());
+  Simulator::Schedule (Seconds (0.01), &PitTest::Check0, this, node->GetObject<ndn::Pit> ());
 
-  Simulator::Schedule (Seconds (0.11), &PitTest::Check1, this, node->GetObject<NdnPit> ());
-  Simulator::Schedule (Seconds (0.21), &PitTest::Check2, this, node->GetObject<NdnPit> ());
-  Simulator::Schedule (Seconds (0.31), &PitTest::Check3, this, node->GetObject<NdnPit> ());
-  
-  Simulator::Schedule (Seconds (0.61), &PitTest::Check3, this, node->GetObject<NdnPit> ());
-  Simulator::Schedule (Seconds (0.71), &PitTest::Check2, this, node->GetObject<NdnPit> ());
-  Simulator::Schedule (Seconds (0.81), &PitTest::Check1, this, node->GetObject<NdnPit> ());
+  Simulator::Schedule (Seconds (0.11), &PitTest::Check1, this, node->GetObject<ndn::Pit> ());
+  Simulator::Schedule (Seconds (0.21), &PitTest::Check2, this, node->GetObject<ndn::Pit> ());
+  Simulator::Schedule (Seconds (0.31), &PitTest::Check3, this, node->GetObject<ndn::Pit> ());
 
-  Simulator::Schedule (Seconds (0.91), &PitTest::Check0, this, node->GetObject<NdnPit> ());
+  Simulator::Schedule (Seconds (0.61), &PitTest::Check3, this, node->GetObject<ndn::Pit> ());
+  Simulator::Schedule (Seconds (0.71), &PitTest::Check2, this, node->GetObject<ndn::Pit> ());
+  Simulator::Schedule (Seconds (0.81), &PitTest::Check1, this, node->GetObject<ndn::Pit> ());
+
+  Simulator::Schedule (Seconds (0.91), &PitTest::Check0, this, node->GetObject<ndn::Pit> ());
 
   Simulator::Stop (Seconds (1.0));
   Simulator::Run ();