diff --git a/gui/chronosharegui.cpp b/gui/chronosharegui.cpp
index cce3a2a..687d14c 100644
--- a/gui/chronosharegui.cpp
+++ b/gui/chronosharegui.cpp
@@ -166,9 +166,9 @@
   fs::path realPathToFolder(m_dirPath.toStdString());
   realPathToFolder /= m_sharedFolderName.toStdString();
 
-  std::cout << "m_dispatcher username:" << m_username.toStdString()
+  _LOG_DEBUG("m_dispatcher username:" << m_username.toStdString()
             << " m_sharedFolderName:" << m_sharedFolderName.toStdString()
-            << " realPathToFolder: " << realPathToFolder << std::endl;
+            << " realPathToFolder: " << realPathToFolder);
 
   m_ioService.reset(new boost::asio::io_service());
   m_face.reset(new Face(*m_ioService));
diff --git a/src/dispatcher.cpp b/src/dispatcher.cpp
index bf0856e..cae79a2 100644
--- a/src/dispatcher.cpp
+++ b/src/dispatcher.cpp
@@ -38,16 +38,18 @@
 static const Name BROADCAST_DOMAIN = "/ndn/multicast";
 
 static const time::seconds DEFAULT_SYNC_INTEREST_INTERVAL = time::seconds(10);
+static const time::seconds DEFAULT_AUTO_DISCOVERY_INTERVAL = time::seconds(60);
 
 Dispatcher::Dispatcher(const std::string& localUserName, const std::string& sharedFolder,
-                       const fs::path& rootDir, Face& face, bool enablePrefixDiscovery)
+                       const fs::path& rootDir, Face& face)
   : m_face(face)
   , m_rootDir(rootDir)
   , m_ioService(face.getIoService())
+  , m_scheduler(m_ioService)
+  , m_autoDiscovery(m_scheduler)
   , m_objectManager(face, m_keyChain, rootDir, CHRONOSHARE_APP.toUri())
   , m_localUserName(localUserName)
   , m_sharedFolder(sharedFolder)
-  , m_enablePrefixDiscovery(enablePrefixDiscovery)
 {
   m_syncLog = make_shared<SyncLog>(m_rootDir, localUserName);
   m_actionLog =
@@ -90,32 +92,55 @@
                               bind(&Dispatcher::Did_FetchManager_FileFetchComplete, this, _1, _2),
                               fileTaskDb);
 
-  if (m_enablePrefixDiscovery) {
-    _LOG_DEBUG("registering prefix discovery in Dispatcher");
-    std::string tag = "dispatcher" + m_localUserName.toUri();
-    // Ccnx::CcnxDiscovery::registerCallback(TaggedFunction(bind(&Dispatcher::Did_LocalPrefix_Updated,
-    // this, _1), tag));
-    // TODO registerCallback...?
-    //
-    // this registerCallback is used when the local prefix changes.
-    // the ndn-cxx library does not have this functionality
-    // thus, the application will need to implement this.
-    // send a data packet and get the local prefix. If they are different, call the callback
-    // function, else do nothing.
-  }
+  _LOG_DEBUG("registering prefix discovery in Dispatcher");
+  m_autoDiscovery = m_scheduler.scheduleEvent(DEFAULT_AUTO_DISCOVERY_INTERVAL,
+                                              bind(&Dispatcher::DiscoverPrefix, this));
 }
 
 Dispatcher::~Dispatcher()
 {
   _LOG_DEBUG("Enter destructor of dispatcher");
+}
 
-  if (m_enablePrefixDiscovery) {
-    _LOG_DEBUG("deregistering prefix discovery in Dispatcher");
-    std::string tag = "dispatcher" + m_localUserName.toUri();
-    // TODO
-    //    Ccnx::CcnxDiscovery::deregisterCallback(TaggedFunction(bind(&Dispatcher::Did_LocalPrefix_Updated,
-    //    this, _1), tag));
+void
+Dispatcher::DiscoverPrefix()
+{
+  _LOG_DEBUG("Query for local prefix");
+  Interest interest(Name("/localhop/nfd/rib/routable-prefixes"));
+  m_face.expressInterest(interest,
+      bind(&Dispatcher::Handle_Prefix_Discovery, this, _1, _2),
+      bind([this] {m_autoDiscovery = m_scheduler.scheduleEvent(DEFAULT_AUTO_DISCOVERY_INTERVAL,
+                                                               bind(&Dispatcher::DiscoverPrefix, this));
+                   _LOG_DEBUG("query routable-prefixes, nack received"); }),
+      bind([this] {m_autoDiscovery = m_scheduler.scheduleEvent(DEFAULT_AUTO_DISCOVERY_INTERVAL,
+                                                               bind(&Dispatcher::DiscoverPrefix, this));
+                   _LOG_DEBUG("query routable-prefixes interest timeout"); }));
+}
+
+void
+Dispatcher::Handle_Prefix_Discovery(const Interest& interest, const Data& data)
+{
+  const Block& content = data.getContent();
+  content.parse();
+
+  Name prefix;
+
+  for (auto& element : content.elements()) {
+    prefix = Name(element);
+    break;
   }
+
+  _LOG_DEBUG("local prefix:" << prefix << prefix.empty());
+  if(prefix.empty()) {
+    _LOG_DEBUG("Local prefix is empty");
+    return;
+  }
+
+  _LOG_DEBUG("local prefix:" << prefix << "discovered");
+  Did_LocalPrefix_Updated(prefix);
+
+  m_autoDiscovery = m_scheduler.scheduleEvent(DEFAULT_AUTO_DISCOVERY_INTERVAL,
+                                              bind(&Dispatcher::DiscoverPrefix, this));
 }
 
 void
@@ -222,7 +247,7 @@
     // notify SyncCore to propagate the change
     m_core->localStateChangedDelayed();
   }
-  catch (fs::filesystem_error& error) {
+  catch (const fs::filesystem_error& error) {
     _LOG_ERROR("File operations failed on [" << relativeFilePath << "](ignoring)");
   }
 
@@ -350,7 +375,7 @@
     }
     // don't exist
   }
-  catch (fs::filesystem_error& error) {
+  catch (const fs::filesystem_error& error) {
     _LOG_ERROR("File operations failed when removing [" << absolutePath << "](ignoring)");
   }
 }
@@ -436,7 +461,7 @@
           }
       }
     }
-    catch (fs::filesystem_error& error) {
+    catch (const fs::filesystem_error& error) {
       _LOG_ERROR("File operations failed on [" << filePath << "](ignoring)");
     }
 
diff --git a/src/dispatcher.hpp b/src/dispatcher.hpp
index 45d6718..e05116e 100644
--- a/src/dispatcher.hpp
+++ b/src/dispatcher.hpp
@@ -68,7 +68,7 @@
   // sharedFolder is the name to be used in NDN name;
   // rootDir is the shared folder dir in local file system;
   Dispatcher(const std::string& localUserName, const std::string& sharedFolder,
-             const boost::filesystem::path& rootDir, Face& face, bool enablePrefixDiscovery = true);
+             const boost::filesystem::path& rootDir, Face& face);
   ~Dispatcher();
 
   // ----- Callbacks, they only submit the job to executor and immediately return so that event
@@ -154,12 +154,6 @@
   void
   Did_ActionLog_ActionApply_Delete_Execute(std::string filename);
 
-  // void
-  // Did_ActionLog_ActionApply_AddOrModify(const std::string &filename, Name device_name,
-  // sqlite3_int64 seq_no,
-  //                                        ConstBufferPtr hash, time_t m_time, int mode, int
-  //                                        seg_num);
-
   void
   Did_FetchManager_FileSegmentFetch(const Name& deviceName, const Name& fileSegmentName,
                                     uint32_t segment, shared_ptr<Data> fileSegmentData);
@@ -175,6 +169,12 @@
   Did_FetchManager_FileFetchComplete_Execute(Name deviceName, Name fileBaseName);
 
   void
+  Handle_Prefix_Discovery(const Interest& interest, const Data& data);
+
+  void
+  DiscoverPrefix();
+
+  void
   Did_LocalPrefix_Updated(const Name& prefix);
 
 private:
@@ -182,21 +182,6 @@
   AssembleFile_Execute(const Name& deviceName, const Buffer& filehash,
                        const boost::filesystem::path& relativeFilepath);
 
-  // void
-  // fileChanged(const boost::filesystem::path &relativeFilepath, ActionType type);
-
-  // void
-  // syncStateChanged(const SyncStateMsgPtr &stateMsg);
-
-  // void
-  // actionReceived(const ActionItemPtr &actionItem);
-
-  // void
-  // fileSegmentReceived(const Name &name, const Ccnx::Bytes &content);
-
-  // void
-  // fileReady(const Name &fileNamePrefix);
-
 private:
   Face& m_face;
   unique_ptr<SyncCore> m_core;
@@ -207,6 +192,8 @@
 
   boost::filesystem::path m_rootDir;
   boost::asio::io_service& m_ioService;
+  Scheduler m_scheduler;
+  util::scheduler::ScopedEventId m_autoDiscovery;
 
   ObjectManager m_objectManager;
   Name m_localUserName;
@@ -218,7 +205,6 @@
   std::string m_sharedFolder;
   unique_ptr<ContentServer> m_server;
   unique_ptr<StateServer> m_stateServer;
-  bool m_enablePrefixDiscovery;
 
   FetchManagerPtr m_actionFetcher;
   FetchManagerPtr m_fileFetcher;
diff --git a/tests/unit-tests/dispatcher.t.cpp b/tests/unit-tests/dispatcher.t.cpp
index 60f0505..bb74d7b 100644
--- a/tests/unit-tests/dispatcher.t.cpp
+++ b/tests/unit-tests/dispatcher.t.cpp
@@ -77,8 +77,8 @@
 
 BOOST_AUTO_TEST_CASE(DispatcherTest)
 {
-  Dispatcher d1(user1, folder, dir1, face1, false);
-  Dispatcher d2(user2, folder, dir2, face2, false);
+  Dispatcher d1(user1, folder, dir1, face1);
+  Dispatcher d2(user2, folder, dir2, face2);
 
   advanceClocks(time::milliseconds(10), 1000);
 
