done with GUI
diff --git a/include/sync-app-socket.h b/include/sync-app-socket.h
index bb533a9..c190824 100644
--- a/include/sync-app-socket.h
+++ b/include/sync-app-socket.h
@@ -82,12 +82,17 @@
   void fetchString(const std::string &prefix, const SeqNo &seq, CcnxWrapper::StringDataCallback callback, int retry = 0);
   void fetchRaw(const std::string &prefix, const SeqNo &seq, CcnxWrapper::RawDataCallback callback, int retry = 0);
 
-  void passCallback(const std::vector<MissingDataInfo> &v) {m_newDataCallback(v, this);}
+  // for sync-demo
+  std::string getRootDigest() {return m_syncLogic.getRootDigest();}
+
 
 private:
   uint32_t
   getNextSeq (const std::string &prefix, uint32_t session);
 
+  void 
+  passCallback(const std::vector<MissingDataInfo> &v) {m_newDataCallback(v, this);}
+
 private:
   typedef boost::unordered_map<std::string, SeqNo> SequenceLog;
   NewDataCallback m_newDataCallback;
diff --git a/include/sync-logic.h b/include/sync-logic.h
index daa6e2f..49cc625 100644
--- a/include/sync-logic.h
+++ b/include/sync-logic.h
@@ -109,6 +109,9 @@
    */
   void remove (const std::string &prefix);
 
+  std::string
+  getRootDigest();
+
 #ifdef _DEBUG
   Scheduler &
   getScheduler () { return m_scheduler; }