diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 9b0e1e27dacc517670d8b495c463815c8ca98895..eac82f039b452c64da5b332b3069ee7afdc8e917 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,13 +2,34 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="688d774d-cfc7-4b0d-b00c-5ca931aba600" name="Default Changelist" comment="">
-<<<<<<< HEAD
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/GUI/StartScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/StartScreen.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/client/ClientUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/ClientUpdate.java" afterDir="false" />
-=======
-      <change beforePath="$PROJECT_DIR$/src/remote/EncryptDecrypt.java" beforeDir="false" />
->>>>>>> 19305992ee94a557e367a23125776d065bedb8bb
+      <change beforePath="$PROJECT_DIR$/infinitymonkeys.iml" beforeDir="false" afterPath="$PROJECT_DIR$/infinitymonkeys.iml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$2.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$2.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$3.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/circle.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/eraser.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/freehand.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/line.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/oval.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/palette.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/rectangle.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/square.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/icon/text.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController$Action.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController$Action.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/Server.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/Server.class" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -61,7 +82,7 @@
       </list>
     </option>
   </component>
-  <component name="RunManager" selected="Application.Client1">
+  <component name="RunManager" selected="Application.Client2">
     <configuration name="AlbumTrackTable" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
       <option name="MAIN_CLASS_NAME" value="client.AlbumTrackTable" />
       <module name="infinitymonkeys" />
@@ -104,7 +125,6 @@
     <configuration name="Client 3" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Eldar -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -112,7 +132,6 @@
     <configuration name="Client1" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Max -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -120,7 +139,6 @@
     <configuration name="Client2" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Hai -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -128,7 +146,7 @@
     <configuration name="Server" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="server.Server" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="-Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
+      <option name="PROGRAM_PARAMETERS" value="10.12.110.122" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
diff --git a/infinitymonkeys.iml b/infinitymonkeys.iml
index 7152d058eeaf78185b07d439256d64bb8f90cd22..fc881bbd244862dac489cdcdf3e03dadf956a7e1 100644
--- a/infinitymonkeys.iml
+++ b/infinitymonkeys.iml
@@ -13,6 +13,7 @@
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$1.class b/out/production/infinitymonkeys/GUI/ChatScreen$1.class
index 790e81e667f103031c8e45d78f22ffb1d5ee5de7..efd35c254c1dcd113db9894344579d3cd5963f1d 100644
Binary files a/out/production/infinitymonkeys/GUI/ChatScreen$1.class and b/out/production/infinitymonkeys/GUI/ChatScreen$1.class differ
diff --git a/out/production/infinitymonkeys/GUI/ChatScreen.class b/out/production/infinitymonkeys/GUI/ChatScreen.class
index 24e02855f9471b8d068e3d2a0c3f59575a2cf3ac..9cd0170f385893cb6f6503dba1b12f5f1ffbea22 100644
Binary files a/out/production/infinitymonkeys/GUI/ChatScreen.class and b/out/production/infinitymonkeys/GUI/ChatScreen.class differ
diff --git a/out/production/infinitymonkeys/GUI/DrawingArea$1.class b/out/production/infinitymonkeys/GUI/DrawingArea$1.class
index 96a52d48af1a7c92a8da76ff8c9b50aae156600a..43cbc6cdec5070807b2febef114fabd3ea3869be 100644
Binary files a/out/production/infinitymonkeys/GUI/DrawingArea$1.class and b/out/production/infinitymonkeys/GUI/DrawingArea$1.class differ
diff --git a/out/production/infinitymonkeys/GUI/DrawingArea$2.class b/out/production/infinitymonkeys/GUI/DrawingArea$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..96241a69fff529c981a3375cf8a1be46bc540e17
Binary files /dev/null and b/out/production/infinitymonkeys/GUI/DrawingArea$2.class differ
diff --git a/out/production/infinitymonkeys/GUI/DrawingArea.class b/out/production/infinitymonkeys/GUI/DrawingArea.class
index 82e1ef02989e61d8f9a79ba875ce9f42d4952ff6..9f3bf4b0dcb02c343a57af580c2b457253c5fe57 100644
Binary files a/out/production/infinitymonkeys/GUI/DrawingArea.class and b/out/production/infinitymonkeys/GUI/DrawingArea.class differ
diff --git a/out/production/infinitymonkeys/GUI/PaintGUI$1.class b/out/production/infinitymonkeys/GUI/PaintGUI$1.class
index ad0e622616ba9552b7342607ba1d2793619b4b5f..7fce18d0342e0ca5548cc3e38bdbfe4da9c22879 100644
Binary files a/out/production/infinitymonkeys/GUI/PaintGUI$1.class and b/out/production/infinitymonkeys/GUI/PaintGUI$1.class differ
diff --git a/out/production/infinitymonkeys/GUI/PaintGUI$2.class b/out/production/infinitymonkeys/GUI/PaintGUI$2.class
index 418874d1164bf1dc93713e943e44acc449887ca0..2f499dbbe39bd0ff0c5a160adc9a89264b7d0a82 100644
Binary files a/out/production/infinitymonkeys/GUI/PaintGUI$2.class and b/out/production/infinitymonkeys/GUI/PaintGUI$2.class differ
diff --git a/out/production/infinitymonkeys/GUI/PaintGUI.class b/out/production/infinitymonkeys/GUI/PaintGUI.class
index 67b2337d0fbc2a6ad287527d86196b8f5d27c0c3..1e9d7ebe50e42e918dbe7b7c29fca67e807289bc 100644
Binary files a/out/production/infinitymonkeys/GUI/PaintGUI.class and b/out/production/infinitymonkeys/GUI/PaintGUI.class differ
diff --git a/out/production/infinitymonkeys/GUI/StartScreen$2.class b/out/production/infinitymonkeys/GUI/StartScreen$2.class
index 990bec20e03310c91bf7b97debdded2d1dd03c30..198f611af82d26de01a9edf8157fbc742677c7e6 100644
Binary files a/out/production/infinitymonkeys/GUI/StartScreen$2.class and b/out/production/infinitymonkeys/GUI/StartScreen$2.class differ
diff --git a/out/production/infinitymonkeys/GUI/StartScreen$3.class b/out/production/infinitymonkeys/GUI/StartScreen$3.class
index 518d641f6a8b5d00f22a2a394329f5868a804048..a5999df56a7d71049d4215205bbd8f6e50786073 100644
Binary files a/out/production/infinitymonkeys/GUI/StartScreen$3.class and b/out/production/infinitymonkeys/GUI/StartScreen$3.class differ
diff --git a/out/production/infinitymonkeys/GUI/StartScreen.class b/out/production/infinitymonkeys/GUI/StartScreen.class
index 67ffc5eaa6080087efbd693ba23540030533ff35..366c92f795a85c3447bc03a135359cc4f69c2bdc 100644
Binary files a/out/production/infinitymonkeys/GUI/StartScreen.class and b/out/production/infinitymonkeys/GUI/StartScreen.class differ
diff --git a/out/production/infinitymonkeys/GUI/icon/circle.png b/out/production/infinitymonkeys/circle.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/circle.png
rename to out/production/infinitymonkeys/circle.png
diff --git a/out/production/infinitymonkeys/client/Client.class b/out/production/infinitymonkeys/client/Client.class
index 7b171c082450f039a3cd482cbc0d730563997f5f..e224883a43ce45dc62348035bf387924ae3ebe15 100644
Binary files a/out/production/infinitymonkeys/client/Client.class and b/out/production/infinitymonkeys/client/Client.class differ
diff --git a/out/production/infinitymonkeys/GUI/icon/eraser.png b/out/production/infinitymonkeys/eraser.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/eraser.png
rename to out/production/infinitymonkeys/eraser.png
diff --git a/out/production/infinitymonkeys/GUI/icon/freehand.png b/out/production/infinitymonkeys/freehand.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/freehand.png
rename to out/production/infinitymonkeys/freehand.png
diff --git a/out/production/infinitymonkeys/GUI/icon/line.png b/out/production/infinitymonkeys/line.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/line.png
rename to out/production/infinitymonkeys/line.png
diff --git a/out/production/infinitymonkeys/GUI/icon/oval.png b/out/production/infinitymonkeys/oval.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/oval.png
rename to out/production/infinitymonkeys/oval.png
diff --git a/out/production/infinitymonkeys/GUI/icon/palette.png b/out/production/infinitymonkeys/palette.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/palette.png
rename to out/production/infinitymonkeys/palette.png
diff --git a/out/production/infinitymonkeys/GUI/icon/rectangle.png b/out/production/infinitymonkeys/rectangle.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/rectangle.png
rename to out/production/infinitymonkeys/rectangle.png
diff --git a/out/production/infinitymonkeys/remote/EncryptDecrypt.class b/out/production/infinitymonkeys/remote/EncryptDecrypt.class
new file mode 100644
index 0000000000000000000000000000000000000000..73e4cf555753915b87f069370969029081c95c1d
Binary files /dev/null and b/out/production/infinitymonkeys/remote/EncryptDecrypt.class differ
diff --git a/out/production/infinitymonkeys/remote/IClientController$Action.class b/out/production/infinitymonkeys/remote/IClientController$Action.class
index 035ddf1381adff501a6e806d89ed427882488ad0..e5ca7f249d69d359e7b08d6ad7d11cceb09bb4e4 100644
Binary files a/out/production/infinitymonkeys/remote/IClientController$Action.class and b/out/production/infinitymonkeys/remote/IClientController$Action.class differ
diff --git a/out/production/infinitymonkeys/remote/IClientController.class b/out/production/infinitymonkeys/remote/IClientController.class
index ab5e065a224484d13368745498a84b2720abdb90..78dec64704398056d5d213ffb35f5a94a2ddb9c3 100644
Binary files a/out/production/infinitymonkeys/remote/IClientController.class and b/out/production/infinitymonkeys/remote/IClientController.class differ
diff --git a/out/production/infinitymonkeys/server/ClientController$1.class b/out/production/infinitymonkeys/server/ClientController$1.class
index 35d99027b635a76211ddf6ed9731e0785e4ac005..f56dee556cd1afa4cdad86b433453fc0840c104a 100644
Binary files a/out/production/infinitymonkeys/server/ClientController$1.class and b/out/production/infinitymonkeys/server/ClientController$1.class differ
diff --git a/out/production/infinitymonkeys/server/ClientController.class b/out/production/infinitymonkeys/server/ClientController.class
index 1323063bdd741b05765fdf485cffca7210e6d2a6..aec78e2bf5377bf31465932ac0c06d52b367db19 100644
Binary files a/out/production/infinitymonkeys/server/ClientController.class and b/out/production/infinitymonkeys/server/ClientController.class differ
diff --git a/out/production/infinitymonkeys/server/DrawingController.class b/out/production/infinitymonkeys/server/DrawingController.class
index 1f5b804eb1d4ab47311e9d0f75a1eac382bf5d97..8df5097a80f3be35d67428fc08b997c6eb160bc5 100644
Binary files a/out/production/infinitymonkeys/server/DrawingController.class and b/out/production/infinitymonkeys/server/DrawingController.class differ
diff --git a/out/production/infinitymonkeys/server/Server.class b/out/production/infinitymonkeys/server/Server.class
index 8884fc35671e4085f5b8100ebd585fa634eb19f0..8919054db272df40c9bb7402201adce8d90c01fe 100644
Binary files a/out/production/infinitymonkeys/server/Server.class and b/out/production/infinitymonkeys/server/Server.class differ
diff --git a/out/production/infinitymonkeys/GUI/icon/square.png b/out/production/infinitymonkeys/square.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/square.png
rename to out/production/infinitymonkeys/square.png
diff --git a/out/production/infinitymonkeys/GUI/icon/text.png b/out/production/infinitymonkeys/text.png
similarity index 100%
rename from out/production/infinitymonkeys/GUI/icon/text.png
rename to out/production/infinitymonkeys/text.png