diff --git a/chatbuf.proto b/chatbuf.proto
new file mode 100644
index 0000000..ca1312c
--- /dev/null
+++ b/chatbuf.proto
@@ -0,0 +1,13 @@
+package SyncDemo;
+
+message ChatMessage {
+  required string msgData = 1;
+  required string to = 2;
+  required string from = 3;
+  required int32 timestamp = 4;
+  enum ChatMessageType {
+    CHAT = 0;
+    OTHER = 1;
+  }
+  optional ChatMessageType type = 5;
+}
diff --git a/digesttreescene.cpp b/digesttreescene.cpp
index 8d2d5c3..483f1f6 100644
--- a/digesttreescene.cpp
+++ b/digesttreescene.cpp
@@ -8,11 +8,15 @@
 #include <assert.h>
 
 static const double Pi = 3.14159265358979323846264338327950288419717;
-static double TwoPi = 2.0 * Pi;
 
 DigestTreeScene::DigestTreeScene(QWidget *parent)
   : QGraphicsScene(parent)
 {
+}
+
+void
+DigestTreeScene::plot() {
+  clear();
   m_graph.clear();
   std::vector<ogdf::node> v(5);
   for (int i = 0; i < 5; i++)
@@ -74,11 +78,12 @@
     QLineF line1(sourceArrowP1, sourceArrowP2);
     addLine(line1, QPen(Qt::black));
      
-      addPolygon(QPolygonF() << sourceArrowP0<< sourceArrowP1 << sourceArrowP2, QPen(Qt::black), QBrush(Qt::black));
+     addPolygon(QPolygonF() << sourceArrowP0<< sourceArrowP1 << sourceArrowP2, QPen(Qt::black), QBrush(Qt::black));
   }
 
-  /*
   ogdf::node n;
+  int i = 0;
+  std::string s[5] = {"A", "B", "C", "D", "E"};
   forall_nodes(n, m_graph) {
     double x = GA.x(n);
 
@@ -86,12 +91,10 @@
     double w = GA.width(n);
     double h = GA.height(n);
     QRectF boundingRect(x, y, w, h);
- 
     addEllipse(boundingRect, QPen(Qt::black), QBrush(Qt::green));
-    QGraphicsTextItem *text = addText(QString(GA.labelNode(n).cstr()));
-    text->setPos(x, y);
- 
+    QGraphicsTextItem *text = addText(s[i].c_str());
+    text->setPos(x + 5, y + 5);
+    i++; 
   }
-    */
 }
 
diff --git a/digesttreescene.h b/digesttreescene.h
index 0d98f7e..1915c2f 100644
--- a/digesttreescene.h
+++ b/digesttreescene.h
@@ -11,6 +11,7 @@
 
 public:
   DigestTreeScene(QWidget *parent = 0);
+  void plot();
 private:
   ogdf::Graph m_graph;
 };
diff --git a/digesttreeviewer.cpp b/digesttreeviewer.cpp
index cb52a9e..631ab92 100644
--- a/digesttreeviewer.cpp
+++ b/digesttreeviewer.cpp
@@ -7,4 +7,6 @@
 {
   DigestTreeScene *scene = new DigestTreeScene(this);
   setScene(scene);
+  scene->plot();
+  scene->plot();
 }
diff --git a/sync-demo.pri b/sync-demo.pri
new file mode 100644
index 0000000..88ab350
--- /dev/null
+++ b/sync-demo.pri
@@ -0,0 +1,18 @@
+PROTOPATH += .
+PROTOPATHS = 
+for(p, PROTOPATH):PROTOPATHS += --proto_path=$${p}
+
+protobuf_decl.name = protobuf header
+protobuf_decl.input = PROTOS
+protobuf_decl.output = ${QMAKE_FILE_BASE}.pb.h
+protobuf_decl.commands = protoc --cpp_out="." $${PROTOPATHS} ${QMAKE_FILE_NAME}
+protobuf_decl.variable_out = GENERATED_FILES 
+QMAKE_EXTRA_COMPILERS += protobuf_decl 
+
+protobuf_impl.name  = protobuf implementation
+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.variable_out = GENERATED_SOURCES
+QMAKE_EXTRA_COMPILERS += protobuf_impl 
diff --git a/sync-demo.pro b/sync-demo.pro
index b201cb7..ce3ac5a 100644
--- a/sync-demo.pro
+++ b/sync-demo.pro
@@ -11,10 +11,13 @@
 
 FORMS = chatdialog.ui
 
-QMAKE_CXXFLAGS *= -g
+QMAKE_CXXFLAGS *= -g 
+QMAKE_CFLAGS *= -g 
 
 QMAKE_LIBDIR *= /opt/local/lib /usr/local/lib /usr/lib ../../../third_party/OGDF/_release
 INCLUDEPATH *= /opt/local/include /usr/local/include ../../../third_party/OGDF
-LIBS *= -lccn -lssl -lcrypto -lpthread -lOGDF
+LIBS *= -lccn -lssl -lcrypto -lpthread -lOGDF -lprotobuf
 CONFIG += console 
 
+PROTOS = chatbuf.proto
+include (sync-demo.pri)
