diff --git a/chatdialog.cpp b/chatdialog.cpp
index 0163df9..ca1b3ae 100644
--- a/chatdialog.cpp
+++ b/chatdialog.cpp
@@ -1,5 +1,6 @@
 #include <QtGui>
 #include "chatdialog.h"
+#include "settingdialog.h"
 #include <ctime>
 #include <iostream>
 
@@ -12,6 +13,12 @@
   // for test only
   m_nick = "Tester";
   m_chatroom = "Test";
+  m_prefix = "/ndn/ucla.edu/cs/tester";
+
+  QString settingDisp = QString("<User: %1>, <Chatroom: %2>").arg(m_nick).arg(m_chatroom);
+  infoLabel->setText(settingDisp);
+  QString prefixDisp = QString("<Prefix: %1>").arg(m_prefix);
+  prefixLabel->setText(prefixDisp);
 
   DigestTreeScene *scene = new DigestTreeScene();
 
@@ -19,6 +26,7 @@
   scene->plot();
 
   connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(returnPressed()));
+  connect(setButton, SIGNAL(pressed()), this, SLOT(buttonPressed()));
 }
 
 void
@@ -49,9 +57,13 @@
   bar->setValue(bar->maximum());
 }
 
-void 
-ChatDialog::updateTreeView() 
-{
+void
+ChatDialog::formChatMessage(const QString &text, SyncDemo::ChatMessage &msg) {
+  msg.set_from(m_nick.toStdString());
+  msg.set_to(m_chatroom.toStdString());
+  msg.set_data(text.toStdString());
+  time_t seconds = time(NULL);
+  msg.set_timestamp(seconds);
 }
 
 void 
@@ -69,16 +81,14 @@
   // TODO:
   // send message
   appendMessage(msg);
-  updateTreeView();
   
 }
 
 void
-ChatDialog::formChatMessage(const QString &text, SyncDemo::ChatMessage &msg) {
-  msg.set_from(m_nick.toStdString());
-  msg.set_to(m_chatroom.toStdString());
-  msg.set_data(text.toStdString());
-  time_t seconds = time(NULL);
-  msg.set_timestamp(seconds);
+ChatDialog::buttonPressed()
+{
+  SettingDialog dialog(this, m_nick, m_chatroom, m_prefix);
+  dialog.exec();
+  setButton->setFocusPolicy(Qt::NoFocus);
 }
 
diff --git a/chatdialog.h b/chatdialog.h
index 7a837dc..e30c05e 100644
--- a/chatdialog.h
+++ b/chatdialog.h
@@ -6,6 +6,8 @@
 #include "ui_chatdialog.h"
 #include "chatbuf.pb.h"
 #include <sync-app-socket.h>
+#include <sync-logic.h>
+#include <sync-seq-no.h>
 
 class ChatDialog : public QDialog,  private Ui::ChatDialog 
 {
@@ -14,13 +16,14 @@
 public:
 	ChatDialog(QWidget *parent = 0);
   void appendMessage(const SyncDemo::ChatMessage &msg);
-  void processData(const std::vector<MissingDataInfo> &, SyncAppSocket *);
+  void processData(const std::vector<Sync::MissingDataInfo> &, Sync::SyncAppSocket *);
 
 private:
   void formChatMessage(const QString &text, SyncDemo::ChatMessage &msg);
 
 private slots:
   void returnPressed();
+  void buttonPressed();
 
 private:
   QString m_nick;
diff --git a/chatdialog.ui b/chatdialog.ui
index b7a6747..9e659ab 100644
--- a/chatdialog.ui
+++ b/chatdialog.ui
@@ -6,7 +6,7 @@
       <x>0</x>
       <y>0</y>
       <width>600</width>
-      <height>400</height>
+      <height>600</height>
       </rect>
     </property>
     <property name="windowTitle">
@@ -24,6 +24,56 @@
           <property name="spacing">
             <number>6</number>
           </property>
+          <item >
+            <layout class="QHBoxLayout">
+              <property name="margin">
+                <number>0</number>
+              </property>
+              <property name="spacing">
+                <number>6</number>
+              </property>
+              <item>
+                <layout class = "QVBoxLayout" >
+                  <property name="margin">
+                    <number>0</number>
+                  </property>
+                  <property name="spacing">
+                    <number>6</number>
+                  </property>
+                  <item>
+                    <widget class="QLabel" name="infoLabel">
+                    <property name="focusPolicy">
+                      <enum>Qt::NoFocus</enum>
+                    </property>
+                    </widget>
+                  </item>
+                  <item>
+                    <widget class="QLabel" name="prefixLabel">
+                    <property name="focusPolicy">
+                      <enum>Qt::NoFocus</enum>
+                    </property>
+                    </widget>
+                  </item>
+                </layout>
+              </item>
+              <item>
+                <widget class="QPushButton" name="setButton">
+                <property name="focusPolicy">
+                  <enum>Qt::NoFocus</enum>
+                </property>
+                <property name="text">
+                  <string>Settings</string> 
+                </property>
+                <property name="minimumWidth">
+                  <number>150</number>
+                </property>
+                <property name="maximumWidth">
+                  <number>150</number>
+                </property>
+                </widget>
+              </item>
+            </layout>
+          </item>
           <item>
             <widget class="QGraphicsView" name="treeViewer">
             <property name="focusPolicy">
diff --git a/settingdialog.cpp b/settingdialog.cpp
new file mode 100644
index 0000000..8719a84
--- /dev/null
+++ b/settingdialog.cpp
@@ -0,0 +1,12 @@
+#include "settingdialog.h"
+
+SettingDialog::SettingDialog(QWidget *parent, QString nick, QString chatroom, QString prefix)
+  : QDialog(parent)
+{
+  setupUi(this);
+  nickEdit->setPlaceholderText(nick);
+  roomEdit->setPlaceholderText(chatroom);
+  prefixEdit->setPlaceholderText(prefix);
+  connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+  connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
+}
diff --git a/settingdialog.h b/settingdialog.h
new file mode 100644
index 0000000..5487cde
--- /dev/null
+++ b/settingdialog.h
@@ -0,0 +1,13 @@
+#ifndef SETTINGDIALOG_H
+#define SETTINGDIALOG_H
+#include "ui_settingdialog.h"
+
+class SettingDialog : public QDialog, private Ui::SettingDialog
+{
+  Q_OBJECT
+
+public:
+  SettingDialog(QWidget *parent = 0, QString nick = QString("NULL"), QString chatroom = QString("NULL"), QString prefix = QString("NULL"));
+};
+
+#endif
diff --git a/settingdialog.ui b/settingdialog.ui
new file mode 100644
index 0000000..dff4408
--- /dev/null
+++ b/settingdialog.ui
@@ -0,0 +1,100 @@
+<ui version="4.0">
+  <class>SettingDialog</class>
+  <widget class="QDialog" name="SettingDialog">
+    <property name="geometry">
+      <rect>
+      <x>0</x>
+      <y>0</y>
+      <width>300</width>
+      <height>200</height>
+      </rect>
+    </property>
+    <property name="windowTitle">
+      <string>Chat Settings</string>
+    </property>
+    <layout class="QVBoxLayout">
+      <property name="spacing">
+        <number>6</number>
+      </property>
+      <item>
+        <layout class="QHBoxLayout">
+          <property name="spacing">
+            <number>6</number>
+          </property>
+          <!-- first group -->
+          <item>
+            <layout class="QVBoxLayout">
+              <property name="spacing">
+                <number>6</number>
+              </property>
+              <item>
+                <widget class="QLabel">
+                  <property name="text">
+                    <string>Nickname</string>
+                  </property>
+                </widget>
+              </item>
+              <item>
+                <widget class="QLabel">
+                  <property name="text">
+                    <string>Chatroom</string>
+                  </property>
+                </widget>
+              </item>
+              <item>
+                <widget class="QLabel">
+                  <property name="text">
+                    <string>Prefix</string>
+                  </property>
+                </widget>
+              </item>
+            </layout>
+          </item>
+          <!-- first group -->
+
+          <!-- second group -->
+          <item>
+            <layout class="QVBoxLayout">
+              <property name="spacing">
+                <number>6</number>
+              </property>
+              <item>
+                <widget class="QLineEdit" name="nickEdit" />
+              </item>
+              <item>
+                <widget class="QLineEdit" name="roomEdit" />
+              </item>
+              <item>
+                <widget class="QLineEdit" name="prefixEdit" />
+              </item>
+            </layout>
+          </item>
+          <!-- second group -->
+        </layout>
+      </item>
+      <item>
+        <layout class="QHBoxLayout">
+          <property name="spacing">
+            <number>6</number>
+          </property>
+          <item>
+            <widget class="QPushButton" name="cancelButton">
+              <property name="text">
+                <string>Cancel</string>
+              </property>
+            </widget>
+          </item>
+          <item>
+            <widget class="QPushButton" name="okButton">
+              <property name="text">
+                <string>OK</string>
+              </property>
+            </widget>
+          </item>
+        </layout>
+      </item>
+    </layout>
+  </widget>
+  <resources/>
+  <connections/>
+</ui>
diff --git a/sync-demo.pri b/sync-demo.pri
index 88ab350..3ff4309 100644
--- a/sync-demo.pri
+++ b/sync-demo.pri
@@ -13,6 +13,6 @@
 protobuf_impl.input = PROTOS
 protobuf_impl.output  = ${QMAKE_FILE_BASE}.pb.cc
 protobuf_impl.depends  = ${QMAKE_FILE_BASE}.pb.h
-protobuf_impl.commands = $$escape_expand(\n)
+protobuf_impl.commands = $$escape_expand(\\n)
 protobuf_impl.variable_out = GENERATED_SOURCES
 QMAKE_EXTRA_COMPILERS += protobuf_impl 
diff --git a/sync-demo.pro b/sync-demo.pro
index 4ff91a7..96f6c7e 100644
--- a/sync-demo.pro
+++ b/sync-demo.pro
@@ -1,13 +1,16 @@
 TEMPLATE = app
 TARGET = sync-demo
 HEADERS = chatdialog.h \
-          digesttreescene.h
+          digesttreescene.h \
+          settingdialog.h
 
 SOURCES = main.cpp \
           chatdialog.cpp \
-          digesttreescene.cpp
+          digesttreescene.cpp \
+          settingdialog.cpp
 
-FORMS = chatdialog.ui
+FORMS = chatdialog.ui \
+        settingdialog.ui
 
 QMAKE_CXXFLAGS *= -g 
 QMAKE_CFLAGS *= -g 
