diff --git a/src/addcontactpanel.cpp b/src/addcontactpanel.cpp
index a3dabf7..9d332a7 100644
--- a/src/addcontactpanel.cpp
+++ b/src/addcontactpanel.cpp
@@ -11,28 +11,41 @@
 #include "addcontactpanel.h"
 #include "ui_addcontactpanel.h"
 
+#ifndef Q_MOC_RUN
+#include "logging.h"
+#endif
+
 using namespace ndn;
 using namespace std;
 
+INIT_LOGGER("AddContactPanel");
+
 AddContactPanel::AddContactPanel(Ptr<ContactManager> contactManager,
                                  QWidget *parent) 
   : QDialog(parent)
   , ui(new Ui::AddContactPanel)
   , m_contactManager(contactManager)
+  , m_warningDialog(new WarningDialog())
 {
   ui->setupUi(this);
+  
+  qRegisterMetaType<ndn::Name>("NdnName");
+  qRegisterMetaType<EndorseCertificate>("EndorseCertificate");
 
   connect(ui->cancelButton, SIGNAL(clicked()),
           this, SLOT(onCancelClicked()));
   connect(ui->searchButton, SIGNAL(clicked()),
           this, SLOT(onSearchClicked()));
-  connect(&*m_contactManager, SIGNAL(contactFetched(ndn::Ptr<EndorseCertificate>)),
-          this, SLOT(selfEndorseCertificateFetched(ndn::Ptr<EndorseCertificate>)));
+  connect(&*m_contactManager, SIGNAL(contactFetched(const EndorseCertificate&>)),
+          this, SLOT(selfEndorseCertificateFetched(const EndorseCertificate&>)));
+  connect(&*m_contactManager, SIGNAL(contactFetchFailed(const ndn::Name&)),
+          this, SLOT(selfEndorseCertificateFetchFailed(const ndn::Name&)));
 }
 
 AddContactPanel::~AddContactPanel()
 {
     delete ui;
+    delete m_warningDialog;
 }
 
 void
@@ -44,6 +57,8 @@
 {
   QString inputIdentity = ui->contactInput->text();
   m_searchIdentity = Name(inputIdentity.toUtf8().constData());
+
+  m_contactManager->fetchSelfEndorseCertificate(m_searchIdentity);
 }
 
 void
@@ -52,8 +67,16 @@
 }
 
 void 
-AddContactPanel::selfEndorseCertificateFetched(Ptr<EndorseCertificate> endorseCertificate)
+AddContactPanel::selfEndorseCertificateFetched(const EndorseCertificate& endorseCertificate)
 {
+  _LOG_DEBUG("CALLED");
+}
+
+void
+AddContactPanel::selfEndorseCertificateFetchFailed(const Name& identity)
+{
+  m_warningDialog->setMsg("Cannot fetch contact profile");
+  m_warningDialog->show();
 }
 
 #if WAF
diff --git a/src/addcontactpanel.h b/src/addcontactpanel.h
index fb547a1..f6776c0 100644
--- a/src/addcontactpanel.h
+++ b/src/addcontactpanel.h
@@ -12,6 +12,8 @@
 #define ADDCONTACTPANEL_H
 
 #include <QDialog>
+#include <QMetaType>
+#include "warningdialog.h"
 
 #ifndef Q_MOC_RUN
 #include "endorse-certificate.h"
@@ -22,6 +24,10 @@
 class AddContactPanel;
 }
 
+Q_DECLARE_METATYPE(ndn::Name)
+
+Q_DECLARE_METATYPE(EndorseCertificate)
+
 class AddContactPanel : public QDialog
 {
   Q_OBJECT
@@ -43,12 +49,16 @@
   onAddClicked();
 
   void
-  selfEndorseCertificateFetched(ndn::Ptr<EndorseCertificate> endorseCertificate);
+  selfEndorseCertificateFetched(const EndorseCertificate& endorseCertificate);
+
+  void
+  selfEndorseCertificateFetchFailed(const ndn::Name& identity);
 
 private:
   Ui::AddContactPanel *ui;
   ndn::Name m_searchIdentity;
   ndn::Ptr<ContactManager> m_contactManager;
+  WarningDialog* m_warningDialog;
 };
 
 #endif // ADDCONTACTPANEL_H
diff --git a/src/contact-manager.cpp b/src/contact-manager.cpp
index 7b07824..01168a0 100644
--- a/src/contact-manager.cpp
+++ b/src/contact-manager.cpp
@@ -193,19 +193,22 @@
 void
 ContactManager::onDnsSelfEndorseCertificateVerified(Ptr<Data> data, const Name& identity)
 {
-  const Blob& dataContentBlob = data->content();
-  
-  boost::iostreams::stream
-    <boost::iostreams::array_source> is (dataContentBlob.buf(), dataContentBlob.size());
+  Ptr<Blob> dataContentBlob = Ptr<Blob>(new Blob(data->content().buf(), data->content().size()));
 
-  Ptr<Data> plainData = Data::decodeFromWire(is);
+  Ptr<Data> plainData = Data::decodeFromWire(dataContentBlob);
+
   Ptr<EndorseCertificate> selfEndorseCertificate = Ptr<EndorseCertificate>(new EndorseCertificate(*plainData));
-  
+
   const security::Publickey& ksk = selfEndorseCertificate->getPublicKeyInfo();
+
   if(security::PolicyManager::verifySignature(*plainData, ksk))
-    emit contactFetched (selfEndorseCertificate); 
+    {
+      emit contactFetched (*selfEndorseCertificate); 
+    }
   else
-    emit contactFetchFailed (identity);
+    {
+      emit contactFetchFailed (identity);
+    }
 }
 
 void
@@ -247,9 +250,15 @@
 
   Name dnsName = identity;
   dnsName.append("DNS").append("PROFILE").append(oss.str());
-
+  
   data->setName(dnsName);
   Ptr<Blob> blob = selfEndorseCertificate->encodeToWire();
+
+  // string encoded;
+  // CryptoPP::StringSource ss(reinterpret_cast<const unsigned char *>(blob->buf()), blob->size(), true,
+  //       		    new CryptoPP::Base64Encoder(new CryptoPP::StringSink(encoded), false));
+
+  // Content content(encoded.c_str(), encoded.size());
   Content content(blob->buf(), blob->size());
   data->setContent(content);
 
diff --git a/src/contact-manager.h b/src/contact-manager.h
index 3cc816d..42fd847 100644
--- a/src/contact-manager.h
+++ b/src/contact-manager.h
@@ -75,7 +75,7 @@
 
 signals:
   void 
-  contactFetched(ndn::Ptr<EndorseCertificate> selfEndorseCertificate);
+  contactFetched(const EndorseCertificate& selfEndorseCertificate);
   
   void
   contactFetchFailed(const ndn::Name& identity);
diff --git a/src/endorse-certificate.h b/src/endorse-certificate.h
index c4d160d..3b992c4 100644
--- a/src/endorse-certificate.h
+++ b/src/endorse-certificate.h
@@ -55,6 +55,8 @@
 class EndorseCertificate : public ndn::security::Certificate
 {
 public:
+  EndorseCertificate() {}
+
   EndorseCertificate(const ndn::security::IdentityCertificate& kskCertificate,
                      const ndn::Time& notBefore,
                      const ndn::Time& notAfter,
diff --git a/src/warningdialog.cpp b/src/warningdialog.cpp
index 135403c..6c7eb8a 100644
--- a/src/warningdialog.cpp
+++ b/src/warningdialog.cpp
@@ -1,11 +1,26 @@
+/* -*- 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 "warningdialog.h"
 #include "ui_warningdialog.h"
 
+using namespace std;
+
 WarningDialog::WarningDialog(QWidget *parent) :
     QDialog(parent),
     ui(new Ui::WarningDialog)
 {
-    ui->setupUi(this);
+  ui->setupUi(this);
+
+  connect(ui->okButton, SIGNAL(clicked()),
+	  this, SLOT(onOkClicked()));
 }
 
 WarningDialog::~WarningDialog()
@@ -13,6 +28,14 @@
     delete ui;
 }
 
+void
+WarningDialog::setMsg(const string& msg)
+{ ui->message->setText(QApplication::translate("WarningDialog",msg.c_str(), 0, QApplication::UnicodeUTF8)); }
+
+void
+WarningDialog::onOkClicked()
+{ this->hide(); }
+
 #if WAF
 #include "warningdialog.moc"
 #include "warningdialog.cpp.moc"
diff --git a/src/warningdialog.h b/src/warningdialog.h
index 7b3125a..a2f3481 100644
--- a/src/warningdialog.h
+++ b/src/warningdialog.h
@@ -1,3 +1,13 @@
+/* -*- 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 WARNINGDIALOG_H
 #define WARNINGDIALOG_H
 
@@ -9,14 +19,22 @@
 
 class WarningDialog : public QDialog
 {
-    Q_OBJECT
+  Q_OBJECT
 
 public:
-    explicit WarningDialog(QWidget *parent = 0);
-    ~WarningDialog();
+  explicit WarningDialog(QWidget *parent = 0);
+
+  ~WarningDialog();
+                  
+  void
+  setMsg(const std::string& msg);
+
+private slots:
+  void
+  onOkClicked();
 
 private:
-    Ui::WarningDialog *ui;
+  Ui::WarningDialog *ui;
 };
 
 #endif // WARNINGDIALOG_H
diff --git a/src/warningdialog.ui b/src/warningdialog.ui
index 1edc546..e67bc40 100644
--- a/src/warningdialog.ui
+++ b/src/warningdialog.ui
@@ -13,19 +13,6 @@
   <property name="windowTitle">
    <string>Error</string>
   </property>
-  <widget class="QPushButton" name="okButton">
-   <property name="geometry">
-    <rect>
-     <x>100</x>
-     <y>160</y>
-     <width>100</width>
-     <height>32</height>
-    </rect>
-   </property>
-   <property name="text">
-    <string>OK</string>
-   </property>
-  </widget>
   <widget class="QLabel" name="message">
    <property name="geometry">
     <rect>
@@ -42,6 +29,22 @@
     <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
    </property>
   </widget>
+  <widget class="QPushButton" name="okButton">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>150</y>
+     <width>100</width>
+     <height>32</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>OK</string>
+   </property>
+   <property name="autoDefault">
+    <bool>false</bool>
+   </property>
+  </widget>
  </widget>
  <resources/>
  <connections/>
