diff --git a/src/profile-data.h b/src/profile-data.h
new file mode 100644
index 0000000..a1e71cf
--- /dev/null
+++ b/src/profile-data.h
@@ -0,0 +1,43 @@
+/* -*- 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 PROFILE_DATA_H
+#define PROFILE_DATA_H
+
+#include <ndn.cxx/data.h>
+
+class ProfileData : public ndn::Data
+{
+public:
+  ProfileData (const ndn::Name& identityName,
+               const std::string& profileType,
+               const ndn::Blob& profileValue);
+
+  ProfileData (const ProfileData& profile);
+
+  ~ProfileData () {}
+
+  static ndn::Ptr<ProfileData> 
+  fromData (const ndn::Data& data);
+
+  inline const ndn::Name&
+  getIdentityName() const
+  { return m_identityName; }
+
+  inline const std::string&
+  getProfileType() const
+  { return m_profileType; }
+
+private:
+  ndn::Name m_identityName;
+  std::string m_profileType;
+};
+
+#endif
