diff --git a/daemon/table/pit-face-record.cpp b/daemon/table/pit-face-record.cpp
index a014e65..c62a1b5 100644
--- a/daemon/table/pit-face-record.cpp
+++ b/daemon/table/pit-face-record.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "pit-face-record.hpp"
 
@@ -41,12 +42,11 @@
   m_lastNonce = interest.getNonce();
   m_lastRenewed = time::steady_clock::now();
 
-  static const time::milliseconds DEFAULT_INTEREST_LIFETIME = time::milliseconds(4000);
   time::milliseconds lifetime = interest.getInterestLifetime();
   if (lifetime < time::milliseconds::zero()) {
-    lifetime = DEFAULT_INTEREST_LIFETIME;
+    lifetime = ndn::DEFAULT_INTEREST_LIFETIME;
   }
-  m_expiry = m_lastRenewed + time::milliseconds(lifetime);
+  m_expiry = m_lastRenewed + lifetime;
 }
 
 
diff --git a/daemon/table/pit-face-record.hpp b/daemon/table/pit-face-record.hpp
index 1e0a720..c1d6c77 100644
--- a/daemon/table/pit-face-record.hpp
+++ b/daemon/table/pit-face-record.hpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #ifndef NFD_DAEMON_TABLE_PIT_FACE_RECORD_HPP
 #define NFD_DAEMON_TABLE_PIT_FACE_RECORD_HPP
@@ -31,8 +32,7 @@
 namespace nfd {
 namespace pit {
 
-/** \class FaceRecord
- *  \brief contains information about an Interest
+/** \brief contains information about an Interest
  *         on an incoming or outgoing face
  *  \note This is an implementation detail to extract common functionality
  *        of InRecord and OutRecord
@@ -58,7 +58,8 @@
   time::steady_clock::TimePoint
   getExpiry() const;
 
-  /// updates lastNonce, lastRenewed, expiry fields
+  /** \brief updates lastNonce, lastRenewed, expiry fields
+   */
   void
   update(const Interest& interest);
 
