diff --git a/src/addcontactpanel.cpp b/src/addcontactpanel.cpp
index 012ae4f..34eb2e9 100644
--- a/src/addcontactpanel.cpp
+++ b/src/addcontactpanel.cpp
@@ -11,7 +11,10 @@
 #include "addcontactpanel.h"
 #include "ui_addcontactpanel.h"
 
-AddContactPanel::AddContactPanel(ndn::Ptr<ContactManager> contactManager,
+using namespace ndn;
+using namespace std;
+
+AddContactPanel::AddContactPanel(Ptr<ContactManager> contactManager,
                                  QWidget *parent) 
   : QDialog(parent)
   , ui(new Ui::AddContactPanel)
@@ -23,6 +26,8 @@
           this, SLOT(onCancelClicked()));
   connect(ui->searchButton, SIGNAL(clicked()),
           this, SLOT(onSearchClicked()));
+  connect(&*m_contactManager, SIGNAL(contactFetched(Ptr<EndorseCertificate>)),
+          this, SLOT(selfEndorseCertificateFetched(Ptr<EndorseCertificate>)));
 }
 
 AddContactPanel::~AddContactPanel()
@@ -37,6 +42,8 @@
 void
 AddContactPanel::onSearchClicked()
 {
+  QString inputIdentity = ui->contactInput->text();
+  m_searchIdentity = Name(inputIdentity.toUtf8().constData());
 }
 
 void
@@ -44,6 +51,11 @@
 {
 }
 
+void 
+AddContactPanel::selfEndorseCertificateFetched(Ptr<EndorseCertificate> endorseCertificate)
+{
+}
+
 #if WAF
 #include "addcontactpanel.moc"
 #include "addcontactpanel.cpp.moc"
