use signal for removal; send hello at beginning
diff --git a/chatdialog.h b/chatdialog.h
index 0d4984a..3f75247 100644
--- a/chatdialog.h
+++ b/chatdialog.h
@@ -25,10 +25,10 @@
   ChatDialog(QWidget *parent = 0);
   ~ChatDialog();
   void setVisible(bool visible);
-  void processRemove(const std::string);
   void appendMessage(const SyncDemo::ChatMessage msg);
   void processTreeUpdateWrapper(const std::vector<Sync::MissingDataInfo>, Sync::SyncAppSocket *);
   void processDataWrapper(std::string, const char *buf, size_t len);
+  void processRemoveWrapper(std::string);
 
 protected:
   void closeEvent(QCloseEvent *e);
@@ -37,10 +37,14 @@
 public slots:
   void processTreeUpdate(const std::vector<Sync::MissingDataInfo>);
   void processData(QString name, const char *buf, size_t len);
+  void processRemove(QString);
 
 private:
   QString getRandomString();
   void formChatMessage(const QString &text, SyncDemo::ChatMessage &msg);
+  void formHelloMessage(SyncDemo::ChatMessage &msg);
+  void sendMsg(SyncDemo::ChatMessage &msg);
+  void sendHello();
   bool readSettings();
   void writeSettings();
   void updateLabels();
@@ -65,6 +69,7 @@
 signals:
   void dataReceived(QString name, const char *buf, size_t len);
   void treeUpdated(const std::vector<Sync::MissingDataInfo>);
+  void removeReceived(QString prefix);
 
 private:
   User m_user;