SelfProfile related things is done, not tested yet.
diff --git a/src/main.cpp b/src/main.cpp
index 83212d2..7e60c8a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -13,6 +13,12 @@
 
 #include "chronochat.h"
 #include "contactpanel.h"
+#include "contact-storage.h"
+#include <ndn.cxx/security/identity/identity-manager.h>
+#include <ndn.cxx/security/identity/osx-privatekey-storage.h>
+#include <ndn.cxx/security/identity/basic-identity-storage.h>
+
+using namespace ndn;
 
 int main(int argc, char *argv[])
 {
@@ -24,7 +30,11 @@
 // // 	app.setWindowIcon(QIcon("/Users/yuyingdi/Develop/QT/images/icon_large.png"));
 // // #endif
 
-  ContactPanel contactPanel;
+  Ptr<security::BasicIdentityStorage> publicStorage = Ptr<security::BasicIdentityStorage>::Create();
+  Ptr<security::OSXPrivatekeyStorage> privateStorage = Ptr<security::OSXPrivatekeyStorage>::Create();
+  Ptr<security::IdentityManager> identityManager = Ptr<security::IdentityManager>(new security::IdentityManager(publicStorage, privateStorage));
+  Ptr<ContactStorage> contactStorage = Ptr<ContactStorage>(new ContactStorage(identityManager));
+  ContactPanel contactPanel(contactStorage);
 
   contactPanel.show ();
   contactPanel.activateWindow ();