diff --git a/daemon/table/pit-entry.cpp b/daemon/table/pit-entry.cpp
index e607dba..6fc34de 100644
--- a/daemon/table/pit-entry.cpp
+++ b/daemon/table/pit-entry.cpp
@@ -148,6 +148,13 @@
   return it;
 }
 
+InRecordCollection::const_iterator
+Entry::getInRecord(shared_ptr<Face> face) const
+{
+  return std::find_if(m_inRecords.begin(), m_inRecords.end(),
+                      bind(&predicate_FaceRecord_Face, _1, face.get()));
+}
+
 void
 Entry::deleteInRecords()
 {
@@ -169,6 +176,13 @@
   return it;
 }
 
+OutRecordCollection::const_iterator
+Entry::getOutRecord(shared_ptr<Face> face) const
+{
+  return std::find_if(m_outRecords.begin(), m_outRecords.end(),
+                      bind(&predicate_FaceRecord_Face, _1, face.get()));
+}
+
 void
 Entry::deleteOutRecord(shared_ptr<Face> face)
 {
diff --git a/daemon/table/pit-entry.hpp b/daemon/table/pit-entry.hpp
index c419f78..521671d 100644
--- a/daemon/table/pit-entry.hpp
+++ b/daemon/table/pit-entry.hpp
@@ -39,13 +39,11 @@
 
 namespace pit {
 
-/** \class InRecordCollection
- *  \brief represents an unordered collection of InRecords
+/** \brief represents an unordered collection of InRecords
  */
 typedef std::list< InRecord>  InRecordCollection;
 
-/** \class OutRecordCollection
- *  \brief represents an unordered collection of OutRecords
+/** \brief represents an unordered collection of OutRecords
  */
 typedef std::list<OutRecord> OutRecordCollection;
 
@@ -65,20 +63,6 @@
   const Name&
   getName() const;
 
-  const InRecordCollection&
-  getInRecords() const;
-
-  const OutRecordCollection&
-  getOutRecords() const;
-
-  /** \brief determines whether any InRecord is a local Face
-   *
-   *  \return true if any InRecord is a local Face,
-   *          false if all InRecords are non-local Faces
-   */
-  bool
-  hasLocalInRecord() const;
-
   /** \brief decides whether Interest can be forwarded to face
    *
    *  \return true if OutRecord of this face does not exist or has expired,
@@ -107,6 +91,18 @@
   bool
   addNonce(uint32_t nonce);
 
+public: // InRecord
+  const InRecordCollection&
+  getInRecords() const;
+
+  /** \brief determines whether any InRecord is a local Face
+   *
+   *  \return true if any InRecord is a local Face,
+   *          false if all InRecords are non-local Faces
+   */
+  bool
+  hasLocalInRecord() const;
+
   /** \brief inserts a InRecord for face, and updates it with interest
    *
    *  If InRecord for face exists, the existing one is updated.
@@ -116,10 +112,20 @@
   InRecordCollection::iterator
   insertOrUpdateInRecord(shared_ptr<Face> face, const Interest& interest);
 
+  /** \brief get the InRecord for face
+   *  \return an iterator to the InRecord, or .end if it does not exist
+   */
+  InRecordCollection::const_iterator
+  getInRecord(shared_ptr<Face> face) const;
+
   /// deletes all InRecords
   void
   deleteInRecords();
 
+public: // OutRecord
+  const OutRecordCollection&
+  getOutRecords() const;
+
   /** \brief inserts a OutRecord for face, and updates it with interest
    *
    *  If OutRecord for face exists, the existing one is updated.
@@ -128,6 +134,12 @@
   OutRecordCollection::iterator
   insertOrUpdateOutRecord(shared_ptr<Face> face, const Interest& interest);
 
+  /** \brief get the OutRecord for face
+   *  \return an iterator to the OutRecord, or .end if it does not exist
+   */
+  OutRecordCollection::const_iterator
+  getOutRecord(shared_ptr<Face> face) const;
+
   /// deletes one OutRecord for face if exists
   void
   deleteOutRecord(shared_ptr<Face> face);
diff --git a/daemon/table/pit-face-record.cpp b/daemon/table/pit-face-record.cpp
index 2102baf..a014e65 100644
--- a/daemon/table/pit-face-record.cpp
+++ b/daemon/table/pit-face-record.cpp
@@ -35,14 +35,6 @@
 {
 }
 
-FaceRecord::FaceRecord(const FaceRecord& other)
-  : m_face(other.m_face)
-  , m_lastNonce(other.m_lastNonce)
-  , m_lastRenewed(other.m_lastRenewed)
-  , m_expiry(other.m_expiry)
-{
-}
-
 void
 FaceRecord::update(const Interest& interest)
 {
diff --git a/daemon/table/pit-face-record.hpp b/daemon/table/pit-face-record.hpp
index a4cea26..1e0a720 100644
--- a/daemon/table/pit-face-record.hpp
+++ b/daemon/table/pit-face-record.hpp
@@ -43,8 +43,6 @@
   explicit
   FaceRecord(shared_ptr<Face> face);
 
-  FaceRecord(const FaceRecord& other);
-
   shared_ptr<Face>
   getFace() const;
 
diff --git a/daemon/table/pit-in-record.cpp b/daemon/table/pit-in-record.cpp
index 55df06b..b7f0edf 100644
--- a/daemon/table/pit-in-record.cpp
+++ b/daemon/table/pit-in-record.cpp
@@ -32,11 +32,6 @@
 {
 }
 
-InRecord::InRecord(const InRecord& other)
-  : FaceRecord(other)
-{
-}
-
 void
 InRecord::update(const Interest& interest)
 {
diff --git a/daemon/table/pit-in-record.hpp b/daemon/table/pit-in-record.hpp
index 95b90ba..88fa1f3 100644
--- a/daemon/table/pit-in-record.hpp
+++ b/daemon/table/pit-in-record.hpp
@@ -39,8 +39,6 @@
   explicit
   InRecord(shared_ptr<Face> face);
 
-  InRecord(const InRecord& other);
-
   void
   update(const Interest& interest);
 
diff --git a/daemon/table/pit-out-record.cpp b/daemon/table/pit-out-record.cpp
index 2e74e9c..268b67b 100644
--- a/daemon/table/pit-out-record.cpp
+++ b/daemon/table/pit-out-record.cpp
@@ -32,10 +32,5 @@
 {
 }
 
-OutRecord::OutRecord(const OutRecord& other)
-  : FaceRecord(other)
-{
-}
-
 } // namespace pit
 } // namespace nfd
diff --git a/daemon/table/pit-out-record.hpp b/daemon/table/pit-out-record.hpp
index 9b954e6..c75e005 100644
--- a/daemon/table/pit-out-record.hpp
+++ b/daemon/table/pit-out-record.hpp
@@ -38,8 +38,6 @@
 public:
   explicit
   OutRecord(shared_ptr<Face> face);
-
-  OutRecord(const OutRecord& other);
 };
 
 } // namespace pit
diff --git a/daemon/table/pit.hpp b/daemon/table/pit.hpp
index 48a267b..41cf520 100644
--- a/daemon/table/pit.hpp
+++ b/daemon/table/pit.hpp
@@ -58,8 +58,8 @@
   size_t
   size() const;
 
-  /** \brief inserts a FIB entry for prefix
-   *  If an entry for exact same prefix exists, that entry is returned.
+  /** \brief inserts a PIT entry for prefix
+   *  If an entry for exact same name and selectors exists, that entry is returned.
    *  \return{ the entry, and true for new entry, false for existing entry }
    */
   std::pair<shared_ptr<pit::Entry>, bool>
diff --git a/tests/daemon/table/pit.cpp b/tests/daemon/table/pit.cpp
index c77c909..d24bae9 100644
--- a/tests/daemon/table/pit.cpp
+++ b/tests/daemon/table/pit.cpp
@@ -76,6 +76,7 @@
   BOOST_CHECK_LE(in1->getExpiry() - in1->getLastRenewed()
                  - interest1->getInterestLifetime(),
                  (after1 - before1));
+  BOOST_CHECK(in1 == entry.getInRecord(face1));
 
   // insert OutRecord
   time::steady_clock::TimePoint before2 = time::steady_clock::now();
@@ -92,6 +93,7 @@
   BOOST_CHECK_LE(out1->getExpiry() - out1->getLastRenewed()
                  - interest1->getInterestLifetime(),
                  (after2 - before2));
+  BOOST_CHECK(out1 == entry.getOutRecord(face1));
 
   // update InRecord
   time::steady_clock::TimePoint before3 = time::steady_clock::now();
@@ -114,10 +116,16 @@
   BOOST_CHECK_EQUAL(inRecords4.size(), 2);
   BOOST_CHECK_EQUAL(in3->getFace(), face2);
 
+  // get InRecord
+  pit::InRecordCollection::const_iterator in4 = entry.getInRecord(face1);
+  BOOST_REQUIRE(in4 != entry.getInRecords().end());
+  BOOST_CHECK_EQUAL(in4->getFace(), face1);
+
   // delete all InRecords
   entry.deleteInRecords();
   const pit::InRecordCollection& inRecords5 = entry.getInRecords();
   BOOST_CHECK_EQUAL(inRecords5.size(), 0);
+  BOOST_CHECK(entry.getInRecord(face1) == entry.getInRecords().end());
 
   // insert another OutRecord
   pit::OutRecordCollection::iterator out2 =
@@ -126,11 +134,17 @@
   BOOST_CHECK_EQUAL(outRecords3.size(), 2);
   BOOST_CHECK_EQUAL(out2->getFace(), face2);
 
+  // get OutRecord
+  pit::OutRecordCollection::const_iterator out3 = entry.getOutRecord(face1);
+  BOOST_REQUIRE(out3 != entry.getOutRecords().end());
+  BOOST_CHECK_EQUAL(out3->getFace(), face1);
+
   // delete OutRecord
   entry.deleteOutRecord(face2);
   const pit::OutRecordCollection& outRecords4 = entry.getOutRecords();
   BOOST_REQUIRE_EQUAL(outRecords4.size(), 1);
   BOOST_CHECK_EQUAL(outRecords4.begin()->getFace(), face1);
+  BOOST_CHECK(entry.getOutRecord(face2) == entry.getOutRecords().end());
 }
 
 BOOST_AUTO_TEST_CASE(EntryNonce)
