diff --git a/next/IMultiverso.vcxproj b/next/IMultiverso.vcxproj
index 3a14cb6..4f8eb36 100644
--- a/next/IMultiverso.vcxproj
+++ b/next/IMultiverso.vcxproj
@@ -171,6 +171,7 @@
+
@@ -193,16 +194,19 @@
+
+
+
diff --git a/next/IMultiverso.vcxproj.filters b/next/IMultiverso.vcxproj.filters
index 557d377..f004dd7 100644
--- a/next/IMultiverso.vcxproj.filters
+++ b/next/IMultiverso.vcxproj.filters
@@ -79,6 +79,12 @@
util
+
+ include
+
+
+ system
+
@@ -134,5 +140,11 @@
system
+
+ util
+
+
+ system
+
\ No newline at end of file
diff --git a/next/Test/Test.vcxproj b/next/Test/Test.vcxproj
index a30e256..40511b4 100644
--- a/next/Test/Test.vcxproj
+++ b/next/Test/Test.vcxproj
@@ -83,6 +83,9 @@
true
IMultiverso.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+ false
+
diff --git a/next/Test/main.cpp b/next/Test/main.cpp
index 2d07225..8071f81 100644
--- a/next/Test/main.cpp
+++ b/next/Test/main.cpp
@@ -40,7 +40,6 @@ void TestKV(int argc, char* argv[]) {
KVWorkerTable* dht = new KVWorkerTable();
// if the node is server, then create a server storage table
KVServerTable* server_dht = new KVServerTable();
- Log::Info("table name %s", server_dht->name().c_str());
MV_Barrier();
diff --git a/next/include/multiverso/dashboard.h b/next/include/multiverso/dashboard.h
new file mode 100644
index 0000000..dac750c
--- /dev/null
+++ b/next/include/multiverso/dashboard.h
@@ -0,0 +1,81 @@
+#ifndef MULTIVERSO_INCLUDE_DASHBOARD_H_
+#define MULTIVERSO_INCLUDE_DASHBOARD_H_
+
+#include