Checkpoint #2
diff --git a/utils/ndn-pit-queue.h b/utils/ndn-pit-queue.h
index 34987db..ff4f0de 100644
--- a/utils/ndn-pit-queue.h
+++ b/utils/ndn-pit-queue.h
@@ -67,7 +67,6 @@
   typedef std::map< Ptr<Face>, boost::shared_ptr<Queue> > PerInFaceQueue;
 
 private:
-  
   uint32_t m_maxQueueSize;
   PerInFaceQueue::iterator m_lastQueue; // last queue from which interest was taken
   PerInFaceQueue m_queues;
@@ -79,10 +78,24 @@
     public Tag
 {
 public:
-  virtual
-  ~PitQueueTag () { };
+  // map based on addresses, should be good enough
+  typedef std::map< boost::shared_ptr<PitQueue::Queue>, PitQueue::Queue::iterator > MapOfItems;
 
-  typedef boost::tuple< boost::shared_ptr<PitQueue::Queue>, PitQueue::Queue::iterator > Item;
+public:
+  virtual
+  ~PitQueueTag () { };  
+
+  void
+  InsertQueue (boost::shared_ptr<PitQueue::Queue> item, PitQueue::Queue::iterator iterator);
+  
+  void
+  RemoveFromAllQueues ();
+
+  void
+  RemoveFromQueue (boost::shared_ptr<PitQueue::Queue> queue);
+  
+private:
+  MapOfItems m_items;
 };
 
 } // namespace fw