diff --git a/src/face.cpp b/src/face.cpp
index aaf8b63..555024f 100644
--- a/src/face.cpp
+++ b/src/face.cpp
@@ -62,36 +62,24 @@
 {
 }
 
+Face::Face(DummyIoService& ioService)
+  : m_impl(new Impl(*this))
+{
+  construct(nullptr, ns3::ndn::StackHelper::getKeyChain());
+}
+
 Face::Face(shared_ptr<Transport> transport)
   : m_impl(new Impl(*this))
 {
   construct(transport, ns3::ndn::StackHelper::getKeyChain());
 }
 
-Face::Face(boost::asio::io_service& ioService)
-  : m_impl(new Impl(*this))
-{
-  construct(nullptr, ns3::ndn::StackHelper::getKeyChain());
-}
-
 Face::Face(shared_ptr<Transport> transport, KeyChain& keyChain)
   : m_impl(new Impl(*this))
 {
   construct(std::move(transport), keyChain);
 }
 
-Face::Face(shared_ptr<Transport> transport, boost::asio::io_service& ioService)
-  : m_impl(new Impl(*this))
-{
-  construct(transport, ns3::ndn::StackHelper::getKeyChain());
-}
-
-Face::Face(shared_ptr<Transport> transport, boost::asio::io_service& ioService, KeyChain& keyChain)
-  : m_impl(new Impl(*this))
-{
-  construct(std::move(transport), keyChain);
-}
-
 shared_ptr<Transport>
 Face::makeDefaultTransport()
 {
