diff --git a/src/contactpanel.cpp b/src/contactpanel.cpp
index 14a89df..5dea76c 100644
--- a/src/contactpanel.cpp
+++ b/src/contactpanel.cpp
@@ -15,14 +15,35 @@
 #include <QStringList>
 #include <QItemSelectionModel>
 #include <QModelIndex>
+#include <QDir>
 
-ContactPanel::ContactPanel(QWidget *parent) :
-    QDialog(parent),
-    ui(new Ui::ContactPanel),
-    m_contactListModel(new QStringListModel)
+#ifndef Q_MOC_RUN
+#include <boost/filesystem.hpp>
+#include "logging.h"
+#include "exception.h"
+#endif
+
+namespace fs = boost::filesystem;
+using namespace ndn;
+
+INIT_LOGGER("ContactPanel");
+
+ContactPanel::ContactPanel(Ptr<ContactStorage> contactStorage, QWidget *parent) 
+    : QDialog(parent)
+    , ui(new Ui::ContactPanel)
+    , m_contactStorage(contactStorage)
+    , m_contactListModel(new QStringListModel)
+    , m_profileEditor(NULL)
 {
+  
     ui->setupUi(this);
 
+    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
+    QString path = (QDir::home().path());
+    path.append(QDir::separator()).append(".chronos").append(QDir::separator()).append("chronos.db");
+    db.setDatabaseName(path);
+    bool ok = db.open();
+
     QStringList contactNameList;
     contactNameList << "Alex" << "Wentao" << "Yingdi";
 
@@ -32,6 +53,8 @@
     QItemSelectionModel* selectionModel = ui->ContactList->selectionModel();
     connect(selectionModel, SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
 	    this, SLOT(updateSelection(const QItemSelection &, const QItemSelection &)));
+    connect(ui->EditProfileButton, SIGNAL(clicked()), 
+            this, SLOT(openProfileEditor()));
 }
 
 ContactPanel::~ContactPanel()
@@ -49,6 +72,15 @@
   ui->NameData->setText(text);
 }
 
+void
+ContactPanel::openProfileEditor()
+{
+  if(m_profileEditor == NULL)
+    m_profileEditor = new ProfileEditor(m_contactStorage);
+
+  m_profileEditor->show();
+}
+
 #if WAF
 #include "contactpanel.moc"
 #include "contactpanel.cpp.moc"
