diff --git a/src/dns-storage.h b/src/dns-storage.h
new file mode 100644
index 0000000..0e4ccf4
--- /dev/null
+++ b/src/dns-storage.h
@@ -0,0 +1,44 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *                     Yingdi Yu
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Yingdi Yu <yingdi@cs.ucla.edu>
+ */
+
+#ifndef LINKNDN_DNS_STORAGE_H
+#define LINKNDN_DNS_STORAGE_H
+
+#include <sqlite3.h>
+#include <ndn.cxx/data.h>
+
+class DnsStorage
+{
+public:
+  DnsStorage();
+
+  ~DnsStorage();
+
+  void
+  updateDnsSelfProfileData(const ndn::Data& data, const ndn::Name& identity);
+
+  void
+  updateDnsEndorseOthers(const ndn::Data& data, const ndn::Name& identity, const ndn::Name& endorsee);
+  
+  void
+  updateDnsOthersEndorse(const ndn::Data& data, const ndn::Name& identity, const ndn::Name& endorser);
+
+  ndn::Ptr<ndn::Data>
+  getData(const ndn::Name& name);
+
+private:
+  void
+  updateDnsData(const ndn::Blob& data, const std::string& identity, const std::string& name, const std::string& type, const std::string& dataName);
+
+private:
+  sqlite3 *m_db;
+};
+
+#endif
