Checkpoint
diff --git a/model/ccnx-l3-protocol.cc b/model/ccnx-l3-protocol.cc
index 27012e3..8cebc00 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ccnx-l3-protocol.cc
@@ -182,8 +182,8 @@
       
       // If this face is the only for the associated FIB entry, then FIB entry will be removed soon.
       // Thus, we have to remove the whole PIT entry
-      if (pitEntry->m_fibEntry->m_faces.size () == 1 &&
-          pitEntry->m_fibEntry->m_faces.begin ()->m_face == face)
+      if (pitEntry->GetFibEntry ()->m_faces.size () == 1 &&
+          pitEntry->GetFibEntry ()->m_faces.begin ()->m_face == face)
         {
           entriesToRemoves.push_back (pitEntry);
         }
@@ -301,14 +301,14 @@
       return;
     }
   
-  // CcnxPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->m_incoming.find (incomingFace);
-  CcnxPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->m_outgoing.find (incomingFace);
+  // CcnxPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
+  CcnxPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
 
-  if (outFace == pitEntry->m_outgoing.end ())
+  if (outFace == pitEntry->GetOutgoing ().end ())
     {
 //      NS_ASSERT_MSG (false,
 //                     "Node " << GetObject<Node> ()->GetId () << ", outgoing entry should exist for face " << boost::cref(*incomingFace) << "\n" <<
-//                     "size: " << pitEntry.m_outgoing.size ());
+//                     "size: " << pitEntry.GetOutgoing ().size ());
       
       // m_dropNacks (header, NON_DUPLICATE, incomingFace);
       return;
@@ -331,12 +331,12 @@
       pitEntry->RemoveIncoming (incomingFace);
     }
 
-  pitEntry->m_fibEntry->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
-  // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->m_fibEntry,
+  pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
+  // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
   //                                           ll::bind (&CcnxFibEntry::UpdateStatus,
   //                                                     ll::_1, incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW));
 
-  if (pitEntry->m_incoming.size () == 0) // interest was actually satisfied
+  if (pitEntry->GetIncoming ().size () == 0) // interest was actually satisfied
     {
       // no need to do anything
       m_dropNacks (header, AFTER_SATISFIED, incomingFace);
@@ -392,7 +392,7 @@
       return;
     }
   
-  bool isNew = pitEntry->m_incoming.size () == 0 && pitEntry->m_outgoing.size () == 0;
+  bool isNew = pitEntry->GetIncoming ().size () == 0 && pitEntry->GetOutgoing ().size () == 0;
   bool isDuplicated = true;
   if (!pitEntry->IsNonceSeen (header->GetNonce ()))
     {
@@ -413,12 +413,12 @@
   /////////////////////////////////////////////////////////////////////////////////////////
   
   // Data is not in cache
-  CcnxPitEntry::in_iterator inFace   = pitEntry->m_incoming.find (incomingFace);
-  CcnxPitEntry::out_iterator outFace = pitEntry->m_outgoing.find (incomingFace);
+  CcnxPitEntry::in_iterator inFace   = pitEntry->GetIncoming ().find (incomingFace);
+  CcnxPitEntry::out_iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
 
   bool isRetransmitted = false;
   
-  if (inFace != pitEntry->m_incoming.end ())
+  if (inFace != pitEntry->GetIncoming ().end ())
     {
       // CcnxPitEntryIncomingFace.m_arrivalTime keeps track arrival time of the first packet... why?
 
@@ -474,7 +474,7 @@
   // update PIT entry lifetime
   pitEntry->UpdateLifetime (header->GetInterestLifetime ());
   
-  if (outFace != pitEntry->m_outgoing.end ())
+  if (outFace != pitEntry->GetOutgoing ().end ())
     {
       NS_LOG_DEBUG ("Non duplicate interests from the face we have sent interest to. Don't suppress");
       // got a non-duplicate interest from the face we have sent interest to
@@ -485,8 +485,8 @@
 
       // ?? not sure if we need to do that ?? ...
       
-      pitEntry->m_fibEntry->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
-      // StaticCast<CcnxFibImpl> (m_fib)->modify(pitEntry->m_fibEntry,
+      pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
+      // StaticCast<CcnxFibImpl> (m_fib)->modify(pitEntry->GetFibEntry (),
       //                                          ll::bind (&CcnxFibEntry::UpdateStatus,
       //                                                    ll::_1, incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW));
     }
@@ -537,7 +537,7 @@
   if (pitEntry != 0)
     {
       //satisfy all pending incoming Interests
-      BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->m_incoming)
+      BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
         {
           incoming.m_face->Send (packet->Copy ());
           m_outData (header, payload, false, incoming.m_face);
@@ -546,7 +546,7 @@
           // successfull forwarded data trace
         }
 
-      if (pitEntry->m_incoming.size () > 0)
+      if (pitEntry->GetIncoming ().size () > 0)
         {
           // All incoming interests are satisfied. Remove them
           pitEntry->ClearIncoming ();
@@ -582,13 +582,13 @@
     {
       // Note that with MultiIndex we need to modify entries indirectly
 
-      CcnxPitEntry::out_iterator out = pitEntry->m_outgoing.find (incomingFace);
+      CcnxPitEntry::out_iterator out = pitEntry->GetOutgoing ().find (incomingFace);
   
       // If we have sent interest for this data via this face, then update stats.
-      if (out != pitEntry->m_outgoing.end ())
+      if (out != pitEntry->GetOutgoing ().end ())
         {
-          pitEntry->m_fibEntry->UpdateFaceRtt (incomingFace, Simulator::Now () - out->m_sendTime);
-          // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->m_fibEntry,
+          pitEntry->GetFibEntry ()->UpdateFaceRtt (incomingFace, Simulator::Now () - out->m_sendTime);
+          // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
           //                                          ll::bind (&CcnxFibEntry::UpdateFaceRtt,
           //                                                    ll::_1,
           //                                                    incomingFace,
@@ -615,8 +615,8 @@
         }
 
       // Update metric status for the incoming interface in the corresponding FIB entry
-      pitEntry->m_fibEntry->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN);
-      // StaticCast<CcnxFibImpl>(m_fib)->modify (pitEntry->m_fibEntry,
+      pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN);
+      // StaticCast<CcnxFibImpl>(m_fib)->modify (pitEntry->GetFibEntry (),
       //                                          ll::bind (&CcnxFibEntry::UpdateStatus, ll::_1,
       //                                                    incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN));
   
@@ -625,7 +625,7 @@
 
       pitEntry->RemoveIncoming (incomingFace);
 
-      if (pitEntry->m_incoming.size () == 0)
+      if (pitEntry->GetIncoming ().size () == 0)
         {
           // Set pruning timout on PIT entry (instead of deleting the record)
           m_pit->MarkErased (pitEntry);
@@ -667,7 +667,7 @@
       header->SetNack (CcnxInterestHeader::NACK_GIVEUP_PIT);
       packet->AddHeader (*header);
 
-      BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->m_incoming)
+      BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
         {
           NS_LOG_DEBUG ("Send NACK for " << boost::cref (header->GetName ()) << " to " << boost::cref (*incoming.m_face));
           incoming.m_face->Send (packet->Copy ());