diff --git a/src/contactpanel.cpp b/src/contactpanel.cpp
index 9d8d8c1..17d019f 100644
--- a/src/contactpanel.cpp
+++ b/src/contactpanel.cpp
@@ -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>
+ */
+
 #include "contactpanel.h"
 #include "ui_contactpanel.h"
 
@@ -12,3 +22,9 @@
 {
     delete ui;
 }
+
+
+#if WAF
+#include "contactpanel.moc"
+#include "contactpanel.cpp.moc"
+#endif
diff --git a/src/contactpanel.h b/src/contactpanel.h
index 62e478d..f017d6d 100644
--- a/src/contactpanel.h
+++ b/src/contactpanel.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 CONTACTPANEL_H
 #define CONTACTPANEL_H
 
diff --git a/src/contactpanel.ui b/src/contactpanel.ui
index fe2629d..ec4ba9f 100644
--- a/src/contactpanel.ui
+++ b/src/contactpanel.ui
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>ContactPanel</class>
  <widget class="QDialog" name="ContactPanel">
@@ -5,13 +6,132 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>400</width>
-    <height>300</height>
+    <width>600</width>
+    <height>450</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Dialog</string>
   </property>
+  <widget class="QWidget" name="">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>10</y>
+     <width>581</width>
+     <height>431</height>
+    </rect>
+   </property>
+   <layout class="QHBoxLayout" name="ContactPanelLayout" stretch="3,7">
+    <property name="spacing">
+     <number>10</number>
+    </property>
+    <item>
+     <widget class="QListWidget" name="ContactList"/>
+    </item>
+    <item>
+     <widget class="QTabWidget" name="ContactInfo">
+      <property name="currentIndex">
+       <number>0</number>
+      </property>
+      <widget class="QWidget" name="General">
+       <attribute name="title">
+        <string>General</string>
+       </attribute>
+       <widget class="QGraphicsView" name="Avatar">
+        <property name="geometry">
+         <rect>
+          <x>130</x>
+          <y>10</y>
+          <width>128</width>
+          <height>128</height>
+         </rect>
+        </property>
+       </widget>
+       <widget class="QWidget" name="">
+        <property name="geometry">
+         <rect>
+          <x>30</x>
+          <y>160</y>
+          <width>331</width>
+          <height>124</height>
+         </rect>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout">
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout" stretch="35,100">
+           <property name="spacing">
+            <number>-1</number>
+           </property>
+           <item>
+            <widget class="QLabel" name="label">
+             <property name="text">
+              <string>Name space</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="lineEdit">
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="35,100">
+           <item>
+            <widget class="QLabel" name="label_2">
+             <property name="text">
+              <string>Name</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="lineEdit_2">
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_3" stretch="35,100">
+           <item>
+            <widget class="QLabel" name="label_3">
+             <property name="text">
+              <string>Institution   </string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="lineEdit_3">
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+      <widget class="QWidget" name="TrustLevel">
+       <attribute name="title">
+        <string>Trust Level</string>
+       </attribute>
+      </widget>
+      <widget class="QWidget" name="Endorse">
+       <attribute name="title">
+        <string>Endorse</string>
+       </attribute>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
  </widget>
  <resources/>
  <connections/>
diff --git a/src/main.cpp b/src/main.cpp
index 9839b4a..83212d2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -12,6 +12,7 @@
 #include <QSystemTrayIcon>
 
 #include "chronochat.h"
+#include "contactpanel.h"
 
 int main(int argc, char *argv[])
 {
@@ -23,11 +24,11 @@
 // // 	app.setWindowIcon(QIcon("/Users/yuyingdi/Develop/QT/images/icon_large.png"));
 // // #endif
 
-  ChronoChat dialog;
+  ContactPanel contactPanel;
 
-  dialog.show ();
-  dialog.activateWindow ();
-  dialog.raise ();
+  contactPanel.show ();
+  contactPanel.activateWindow ();
+  contactPanel.raise ();
   
   return app.exec();
 }
