diff --git a/src/GUI/DrawingArea.java b/src/GUI/DrawingArea.java
index 49f49a16152d1b1ce0985d8b6bdf4c5a13cae38d..98246f24433a09866c45df28c54893be39bb3c2b 100644
--- a/src/GUI/DrawingArea.java
+++ b/src/GUI/DrawingArea.java
@@ -296,9 +296,9 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
 
         try {
             drawingController.broadcastDrawing(client.getUserName(), drawing, currentMode.toString(), shapeColor, strokeSize);
-            if (currentMode == Mode.TEXT){
-                notifyUsingTimer();
-            }
+//            if (currentMode == Mode.TEXT){
+//                notifyUsingTimer();
+//            }
 //            else {
 //                drawingController.broadcastDrawingUserStopped(client.getUserName());
 //            }
@@ -310,30 +310,30 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
         drawing = null;
     }
 
-    private void notifyUsingTimer() throws RemoteException {
-
-        Timer timer = new Timer(4000, new ActionListener()
-        {
-
-            @Override
-            public void actionPerformed(ActionEvent e)
-            {
-                try {
-                    client.getDrawingController().broadcastDrawingUserStopped(client.getDefaultUserName());
-                } catch (RemoteException ex) {
-                    ex.printStackTrace();
-                }
-
-            }
-
-        });
-        try {
-            client.getDrawingController().broadcastDrawingUser(client.getDefaultUserName());
-        } catch (RemoteException ex) {
-            ex.printStackTrace();
-        }
-        timer.start();
-    }
+//    private void notifyUsingTimer() throws RemoteException {
+//
+//        Timer timer = new Timer(4000, new ActionListener()
+//        {
+//
+//            @Override
+//            public void actionPerformed(ActionEvent e)
+//            {
+//                try {
+//                    client.getDrawingController().broadcastDrawingUserStopped(client.getUserName());
+//                } catch (RemoteException ex) {
+//                    ex.printStackTrace();
+//                }
+//
+//            }
+//
+//        });
+//        try {
+//            client.getDrawingController().broadcastDrawingUser(client.getUserName());
+//        } catch (RemoteException ex) {
+//            ex.printStackTrace();
+//        }
+//        timer.start();
+//    }
 
     @Override
     public void mouseEntered(MouseEvent e) {
diff --git a/src/client/DrawingUpdate.java b/src/client/DrawingUpdate.java
index 9f526a798491bde6d896c09f3c257ea68b8d02e8..bb920065cd8235615d3fb9ad60f49bcf0b84e202 100644
--- a/src/client/DrawingUpdate.java
+++ b/src/client/DrawingUpdate.java
@@ -4,6 +4,8 @@ import remote.IDrawingUpdate;
 
 import javax.swing.*;
 import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -50,6 +52,29 @@ public class DrawingUpdate extends UnicastRemoteObject implements IDrawingUpdate
         client.getApplicationMain().getPaintGUI().getDrawingArea().getG2().setColor(color);
         client.getApplicationMain().getPaintGUI().getDrawingArea().getG2().drawString(text, startPoint.x, startPoint.y);
         client.getApplicationMain().getPaintGUI().getDrawingArea().repaint();
+
+        removeClientTimer removeClient = new removeClientTimer(fromClient, client);
+        removeClient.start();
+//
+//        Timer timer = new Timer(1000, new ActionListener()
+//        {
+//            private int i = 0;
+//            @Override
+//            public void actionPerformed(ActionEvent e)
+//            {
+//                DefaultListModel temp = client.getApplicationMain().getChatScreen().getAllUserModel();
+//                System.out.println("action performed" + Integer.toString(i));
+//                int elementIndex = -1;
+//                if(temp.contains(fromClient)){
+//                    elementIndex = temp.indexOf(fromClient);
+//                    temp.remove(elementIndex);
+//                    System.out.println("removed from list");
+//                }
+//            }
+//        });
+//        timer.start();
+
+
         return true;
     }
 
@@ -136,3 +161,33 @@ public class DrawingUpdate extends UnicastRemoteObject implements IDrawingUpdate
         return true;
     }
 }
+
+class removeClientTimer extends Thread {
+    private String fromClient;
+    private Client client;
+
+    public removeClientTimer (String fromClient, Client client) {
+        this.fromClient = fromClient;
+        this.client = client;
+    }
+
+    @Override
+    public void run()
+    {
+        try {
+            DefaultListModel temp = client.getApplicationMain().getChatScreen().getAllUserModel();
+            if(!temp.contains(fromClient)) temp.addElement(fromClient);
+
+            sleep(1000);
+
+            int elementIndex = -1;
+            if(temp.contains(fromClient)){
+                elementIndex = temp.indexOf(fromClient);
+                temp.remove(elementIndex);
+            }
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
+
+}
\ No newline at end of file