diff --git a/src/contact-storage.h b/src/contact-storage.h
index eca65da..deb330a 100644
--- a/src/contact-storage.h
+++ b/src/contact-storage.h
@@ -14,15 +14,27 @@
 #include <sqlite3.h>
 #include "trusted-contact.h"
 #include "contact-item.h"
+#include "profile-data.h"
+#include <ndn.cxx/security/identity/identity-manager.h>
+#include <ndn.cxx/fields/signature-sha256-with-rsa.h>
 
 class ContactStorage
 {
 public:
-  ContactStorage();
+  ContactStorage(ndn::Ptr<ndn::security::IdentityManager> identityManager);
   
   ~ContactStorage() {}
 
   void
+  setSelfProfileIdentity(const ndn::Name& identity);
+
+  void
+  setSelfProfileEntry(const std::string& profileType, const ndn::Blob& profileValue);
+
+  ndn::Ptr<Profile>
+  getSelfProfile();
+
+  void
   addTrustedContact(const TrustedContact& trustedContact);
   
   void
@@ -34,7 +46,13 @@
   std::vector<ndn::Ptr<ContactItem> >
   getAllNormalContacts() const;
 
+  void
+  updateProfileData() const;
+
 private:
+  bool
+  doesSelfEntryExist(const std::string& profileType);
+
   inline bool
   doesTrustedContactExist(const ndn::Name& name)
   { return doesContactExist(name, false); }
@@ -45,8 +63,16 @@
 
   bool
   doesContactExist(const ndn::Name& name, bool normal);
+
+  ndn::Ptr<Profile>
+  getSelfProfile() const;
+
+  ndn::Ptr<ProfileData>
+  getSignedSelfProfileData(const ndn::Name& identity,
+                           const Profile& profile) const;
   
 private:
+  ndn::Ptr<ndn::security::IdentityManager> m_identityManager;
   sqlite3 *m_db;
 };
 
