diff --git a/src/encoding/nfd-constants.cpp b/src/encoding/nfd-constants.cpp
new file mode 100644
index 0000000..8723bd7
--- /dev/null
+++ b/src/encoding/nfd-constants.cpp
@@ -0,0 +1,83 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (c) 2013-2014 Regents of the University of California.
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ */
+
+#include "nfd-constants.hpp"
+#include <iostream>
+
+namespace ndn {
+namespace nfd {
+
+std::ostream&
+operator<<(std::ostream& os, FaceScope faceScope)
+{
+  switch (faceScope) {
+  case FACE_SCOPE_NON_LOCAL:
+    os << "non-local";
+    break;
+  case FACE_SCOPE_LOCAL:
+    os << "local";
+    break;
+  default:
+    os << "unknown";
+    break;
+  }
+  return os;
+}
+
+std::ostream&
+operator<<(std::ostream& os, FacePersistency facePersistency)
+{
+  switch (facePersistency) {
+  case FACE_PERSISTENCY_PERSISTENT:
+    os << "persistent";
+    break;
+  case FACE_PERSISTENCY_ON_DEMAND:
+    os << "on-demand";
+    break;
+  case FACE_PERSISTENCY_PERMANENT:
+    os << "permanent";
+    break;
+  default:
+    os << "unknown";
+    break;
+  }
+  return os;
+}
+
+std::ostream&
+operator<<(std::ostream& os, LinkType linkType)
+{
+  switch (linkType) {
+  case LINK_TYPE_POINT_TO_POINT:
+    os << "point-to-point";
+    break;
+  case LINK_TYPE_MULTI_ACCESS:
+    os << "multi-access";
+    break;
+  default:
+    os << "unknown";
+    break;
+  }
+  return os;
+}
+
+} // namespace nfd
+} // namespace ndn
diff --git a/src/encoding/nfd-constants.hpp b/src/encoding/nfd-constants.hpp
index 6b00c42..ffb977c 100644
--- a/src/encoding/nfd-constants.hpp
+++ b/src/encoding/nfd-constants.hpp
@@ -29,19 +29,65 @@
 
 static const uint64_t INVALID_FACE_ID = std::numeric_limits<uint64_t>::max();
 
-/**
- * \ingroup management
+/** \ingroup management
  */
-enum {
-  // route origin
+enum FaceScope {
+  /** \brief face is non-local
+   */
+  FACE_SCOPE_NON_LOCAL = 0,
+  /** \brief face is local
+   */
+  FACE_SCOPE_LOCAL = 1
+};
+
+std::ostream&
+operator<<(std::ostream& os, FaceScope faceScope);
+
+/** \ingroup management
+ */
+enum FacePersistency {
+  /** \brief face is persistent
+   */
+  FACE_PERSISTENCY_PERSISTENT = 0,
+  /** \brief face is on-demand
+   */
+  FACE_PERSISTENCY_ON_DEMAND = 1,
+  /** \brief face is permanent
+   */
+  FACE_PERSISTENCY_PERMANENT = 2
+};
+
+std::ostream&
+operator<<(std::ostream& os, FacePersistency facePersistency);
+
+/** \ingroup management
+ */
+enum LinkType {
+  /** \brief link is point-to-point
+   */
+  LINK_TYPE_POINT_TO_POINT = 0,
+  /** \brief link is multi-access
+   */
+  LINK_TYPE_MULTI_ACCESS = 1
+};
+
+std::ostream&
+operator<<(std::ostream& os, LinkType linkType);
+
+/** \ingroup management
+ */
+enum RouteOrigin {
   ROUTE_ORIGIN_APP      = 0,
   ROUTE_ORIGIN_AUTOREG  = 64,
   ROUTE_ORIGIN_CLIENT   = 65,
   ROUTE_ORIGIN_AUTOCONF = 66,
   ROUTE_ORIGIN_NLSR     = 128,
-  ROUTE_ORIGIN_STATIC   = 255,
+  ROUTE_ORIGIN_STATIC   = 255
+};
 
-  // route inheritance flags
+/** \ingroup management
+ */
+enum RouteFlags {
   ROUTE_FLAG_CHILD_INHERIT = 1,
   ROUTE_FLAG_CAPTURE       = 2
 };
diff --git a/src/encoding/tlv-nfd.hpp b/src/encoding/tlv-nfd.hpp
index 91d7c11..c6c330b 100644
--- a/src/encoding/tlv-nfd.hpp
+++ b/src/encoding/tlv-nfd.hpp
@@ -22,7 +22,7 @@
 #ifndef NDN_ENCODING_TLV_NFD_HPP
 #define NDN_ENCODING_TLV_NFD_HPP
 
-#include "../common.hpp"
+#include "tlv.hpp"
 #include "nfd-constants.hpp"
 
 namespace ndn {
