diff --git a/ndn-cxx/face.cpp b/ndn-cxx/face.cpp
index fdfb727..97af0da 100644
--- a/ndn-cxx/face.cpp
+++ b/ndn-cxx/face.cpp
@@ -39,7 +39,7 @@
 #define IO_CAPTURE_WEAK_IMPL(OP) \
   { \
     weak_ptr<Impl> implWeak(m_impl); \
-    m_impl->m_scheduler.scheduleEvent(time::seconds(0), [=] { \
+    m_impl->m_scheduler.schedule(time::seconds(0), [=] { \
       auto impl = implWeak.lock(); \
       if (impl != nullptr) {
 #define IO_CAPTURE_WEAK_IMPL_END \
diff --git a/ndn-cxx/impl/face-impl.hpp b/ndn-cxx/impl/face-impl.hpp
index c93f1c3..0e1c2aa 100644
--- a/ndn-cxx/impl/face-impl.hpp
+++ b/ndn-cxx/impl/face-impl.hpp
@@ -69,7 +69,7 @@
     , m_nfdController(m_face, keyChain)
   {
     auto postOnEmptyPitOrNoRegisteredPrefixes = [this] {
-      m_scheduler.scheduleEvent(time::seconds(0), bind(&Impl::onEmptyPitOrNoRegisteredPrefixes, this));
+      m_scheduler.schedule(time::seconds(0), bind(&Impl::onEmptyPitOrNoRegisteredPrefixes, this));
       // without this extra "post", transport can get paused (-async_read) and then resumed
       // (+async_read) from within onInterest/onData callback.  After onInterest/onData
       // finishes, there is another +async_read with the same memory block.  A few of such
diff --git a/ndn-cxx/ims/in-memory-storage.hpp b/ndn-cxx/ims/in-memory-storage.hpp
index 6514afb..e321183 100644
--- a/ndn-cxx/ims/in-memory-storage.hpp
+++ b/ndn-cxx/ims/in-memory-storage.hpp
@@ -23,6 +23,7 @@
 #define NDN_IMS_IN_MEMORY_STORAGE_HPP
 
 #include "ndn-cxx/ims/in-memory-storage-entry.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
 
 #include <iterator>
 #include <stack>
@@ -341,7 +342,7 @@
   /// memory pool
   std::stack<InMemoryStorageEntry*> m_freeEntries;
   /// scheduler
-  unique_ptr<Scheduler> m_scheduler;
+  unique_ptr<scheduler::Scheduler> m_scheduler;
 };
 
 } // namespace ndn
diff --git a/ndn-cxx/transport/transport.cpp b/ndn-cxx/transport/transport.cpp
index ad5f7d5..05fa481 100644
--- a/ndn-cxx/transport/transport.cpp
+++ b/ndn-cxx/transport/transport.cpp
@@ -29,7 +29,7 @@
 }
 
 void
-Transport::connect(receiveCallback receiveCallback)
+Transport::connect(ReceiveCallback receiveCallback)
 {
   BOOST_ASSERT(receiveCallback != nullptr);
 
diff --git a/ndn-cxx/util/scheduler.hpp b/ndn-cxx/util/scheduler.hpp
index 58ad76a..f210905 100644
--- a/ndn-cxx/util/scheduler.hpp
+++ b/ndn-cxx/util/scheduler.hpp
@@ -33,6 +33,8 @@
 namespace ndn {
 
 namespace util {
+} // namespace util
+
 namespace scheduler {
 
 class Scheduler;
diff --git a/ndn-cxx/util/segment-fetcher.cpp b/ndn-cxx/util/segment-fetcher.cpp
index 7cfd0b9..1daf05c 100644
--- a/ndn-cxx/util/segment-fetcher.cpp
+++ b/ndn-cxx/util/segment-fetcher.cpp
@@ -105,7 +105,7 @@
   }
 
   m_pendingSegments.clear(); // cancels pending Interests and timeout events
-  m_scheduler.scheduleEvent(0_s, [self = std::move(m_this)] {});
+  m_scheduler.schedule(0_s, [self = std::move(m_this)] {});
 }
 
 bool
diff --git a/ndn-cxx/util/segment-fetcher.hpp b/ndn-cxx/util/segment-fetcher.hpp
index 4e556d4..2820cf1 100644
--- a/ndn-cxx/util/segment-fetcher.hpp
+++ b/ndn-cxx/util/segment-fetcher.hpp
@@ -301,7 +301,7 @@
   Scheduler m_scheduler;
   security::v2::Validator& m_validator;
   RttEstimator m_rttEstimator;
-  time::milliseconds m_timeout;
+  // time::milliseconds m_timeout;
 
   time::steady_clock::TimePoint m_timeLastSegmentReceived;
   std::queue<uint64_t> m_retxQueue;
