add test for dispatcher;
synccore is not working in dispatcher;
additionally, localStateChanged not called somehow;
ccnx ccnLoop throws exception;
diff --git a/src/dispatcher.cc b/src/dispatcher.cc
index babae92..8c93d96 100644
--- a/src/dispatcher.cc
+++ b/src/dispatcher.cc
@@ -38,7 +38,9 @@
                        , const std::string &sharedFolder
                        , const filesystem::path &rootDir
                        , Ccnx::CcnxWrapperPtr ccnx
-                       , int poolSize)
+                       , int poolSize
+                       , bool enablePrefixDiscovery
+                       )
            : m_ccnx(ccnx)
            , m_core(NULL)
            , m_rootDir(rootDir)
@@ -47,6 +49,7 @@
            , m_localUserName(localUserName)
            , m_sharedFolder(sharedFolder)
            , m_server(NULL)
+           , m_enablePrefixDiscovery(enablePrefixDiscovery)
 {
   m_syncLog = make_shared<SyncLog>(m_rootDir, localUserName);
   m_actionLog = make_shared<ActionLog>(m_ccnx, m_rootDir, m_syncLog, sharedFolder,
@@ -65,12 +68,18 @@
   m_actionFetcher = make_shared<FetchManager> (m_ccnx, bind (&SyncLog::LookupLocator, &*m_syncLog, _1), 3);
   m_fileFetcher   = make_shared<FetchManager> (m_ccnx, bind (&SyncLog::LookupLocator, &*m_syncLog, _1), 3);
 
-  Ccnx::CcnxDiscovery::registerCallback (TaggedFunction (bind (&Dispatcher::Did_LocalPrefix_Updated, this, _1), "dispatcher"));
+  if (m_enablePrefixDiscovery)
+  {
+    Ccnx::CcnxDiscovery::registerCallback (TaggedFunction (bind (&Dispatcher::Did_LocalPrefix_Updated, this, _1), "dispatcher"));
+  }
 }
 
 Dispatcher::~Dispatcher()
 {
-  Ccnx::CcnxDiscovery::deregisterCallback (TaggedFunction (bind (&Dispatcher::Did_LocalPrefix_Updated, this, _1), "dispatcher"));
+  if (m_enablePrefixDiscovery)
+  {
+    Ccnx::CcnxDiscovery::deregisterCallback (TaggedFunction (bind (&Dispatcher::Did_LocalPrefix_Updated, this, _1), "dispatcher"));
+  }
 
   if (m_core != NULL)
   {
@@ -109,6 +118,7 @@
 void
 Dispatcher::Did_LocalFile_AddOrModify_Execute (filesystem::path relativeFilePath)
 {
+  _LOG_DEBUG(m_localUserName << " calls LocalFile_AddOrModify_Execute");
   filesystem::path absolutePath = m_rootDir / relativeFilePath;
   if (!filesystem::exists(absolutePath))
     {