diff --git a/src/profile-data.cpp b/src/profile-data.cpp
new file mode 100644
index 0000000..e111e54
--- /dev/null
+++ b/src/profile-data.cpp
@@ -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>
+ */
+
+#include "profile-data.h"
+
+using namespace std;
+using namespace ndn;
+
+ProfileData::ProfileData (const Name& identityName,
+			  const string& profileType,
+			  const Blob& profileValue)
+  : Data()
+  , m_identityName(identityName)
+  , m_profileType(profileType)
+{
+  Name tmpName = identityName;
+  setName(tmpName.append(profileType));
+  setContent(Content(profileValue.buf(), profileValue.size()));
+}
+
+
+ProfileData::ProfileData (const ProfileData& profile)
+  : Data()
+  , m_identityName(profile.m_identityName)
+  , m_profileType(profile.m_profileType)
+{
+  setName(profile.getName());
+  setContent(profile.getContent());
+}
+
+Ptr<ProfileData> 
+ProfileData::fromData (const Data& data)
+{
+  //TODO:
+  return NULL;
+}
+
