diff --git a/daemon/face/face.cpp b/daemon/face/face.cpp
index 6518117..9c8613b 100644
--- a/daemon/face/face.cpp
+++ b/daemon/face/face.cpp
@@ -8,8 +8,8 @@
 
 namespace nfd {
 
-Face::Face(FaceId id)
-  : m_id(id)
+Face::Face()
+  : m_id(INVALID_FACEID)
 {
 }
 
@@ -17,6 +17,18 @@
 {
 }
 
+FaceId
+Face::getId() const
+{
+  return m_id;
+}
+
+FaceId
+Face::setId(FaceId faceId)
+{
+  m_id = faceId;
+}
+
 bool
 Face::isUp() const
 {
diff --git a/daemon/face/face.hpp b/daemon/face/face.hpp
index 9ff2d20..994bc78 100644
--- a/daemon/face/face.hpp
+++ b/daemon/face/face.hpp
@@ -17,6 +17,8 @@
  */
 typedef int FaceId;
 
+const FaceId INVALID_FACEID = -1;
+
 const std::size_t MAX_NDN_PACKET_SIZE = 8800;
 
 /** \class Face
@@ -25,10 +27,13 @@
 class Face : noncopyable, public enable_shared_from_this<Face>
 {
 public:
-  Face(FaceId id);
+  Face();
   
   virtual
   ~Face();
+  
+  FaceId
+  getId() const;
 
   /// fires when an Interest is received
   EventEmitter<const Interest&> onReceiveInterest;
@@ -81,8 +86,15 @@
   // receiveData();
   
 private:
+  FaceId
+  setId(FaceId faceId);
+
+private:
   FaceId m_id;
   std::string m_description;
+  
+  // allow setting FaceId
+  friend class Forwarder;
 };
 
 } // namespace nfd
diff --git a/daemon/face/stream-face.hpp b/daemon/face/stream-face.hpp
index e0ea05b..a764a07 100644
--- a/daemon/face/stream-face.hpp
+++ b/daemon/face/stream-face.hpp
@@ -17,8 +17,7 @@
 public:
   typedef T protocol;
 
-  StreamFace(FaceId id,
-             const shared_ptr<typename protocol::socket>& socket);
+  StreamFace(const shared_ptr<typename protocol::socket>& socket);
 
 protected:
   void
@@ -39,10 +38,8 @@
 
 template <class T>
 inline
-StreamFace<T>::StreamFace(FaceId id,
-                          const shared_ptr<typename StreamFace::protocol::socket>& socket)
-  : Face(id)
-  , m_socket(socket)
+StreamFace<T>::StreamFace(const shared_ptr<typename StreamFace::protocol::socket>& socket)
+  : m_socket(socket)
 {
   m_socket->async_receive(boost::asio::buffer(m_inputBuffer, MAX_NDN_PACKET_SIZE), 0,
                           bind(&StreamFace<T>::handleReceive, this, _1, _2));
diff --git a/daemon/face/tcp-channel.cpp b/daemon/face/tcp-channel.cpp
index 25244f8..f67e9b2 100644
--- a/daemon/face/tcp-channel.cpp
+++ b/daemon/face/tcp-channel.cpp
@@ -117,10 +117,7 @@
     return;
   }
 
-  /**
-   * \todo Remove FaceId from here
-   */
-  shared_ptr<TcpFace> face = make_shared<TcpFace>(1, boost::cref(socket));
+  shared_ptr<TcpFace> face = make_shared<TcpFace>(boost::cref(socket));
   onFaceCreated(face);
 
   tcp::Endpoint remoteEndpoint = socket->remote_endpoint();
diff --git a/daemon/face/tcp-face.cpp b/daemon/face/tcp-face.cpp
index 79f9b8c..4a295ff 100644
--- a/daemon/face/tcp-face.cpp
+++ b/daemon/face/tcp-face.cpp
@@ -8,9 +8,8 @@
 
 namespace nfd {
 
-TcpFace::TcpFace(FaceId id,
-                 const shared_ptr<TcpFace::protocol::socket>& socket)
-  : StreamFace<protocol>(id, socket)
+TcpFace::TcpFace(const shared_ptr<TcpFace::protocol::socket>& socket)
+  : StreamFace<protocol>(socket)
 {
 }
 
diff --git a/daemon/face/tcp-face.hpp b/daemon/face/tcp-face.hpp
index c76cbc8..cf3188c 100644
--- a/daemon/face/tcp-face.hpp
+++ b/daemon/face/tcp-face.hpp
@@ -21,8 +21,7 @@
 public:
   typedef boost::asio::ip::tcp protocol;
 
-  TcpFace(FaceId id,
-          const shared_ptr<protocol::socket>& socket);
+  TcpFace(const shared_ptr<protocol::socket>& socket);
 
   // from Face
   virtual void
