diff --git a/.idea/misc.xml b/.idea/misc.xml
index e208459b8afde5f7980720efd6bbb97f7ae24541..8378362dc2e2ed64f9186c492f6c5abb0e701a9c 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="12" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 77dee4c072c400f5d3afc578438ba078b7cf6719..22226cadec31fa66f12daee30ddcd8ff75908208 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,11 +2,36 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="688d774d-cfc7-4b0d-b00c-5ca931aba600" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ApplicationMain.class" 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/StartScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.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/client/Client.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/EncryptionUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/EncryptionUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/removeClientTimer.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/removeClientTimer.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/EncryptDecrypt.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/EncryptDecrypt.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.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/MySharedKey.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/MySharedKey.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" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ApplicationMain.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ApplicationMain.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/DrawingArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/DrawingArea.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/PaintGUI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/PaintGUI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/server/Server.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/server/Server.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -18,6 +43,100 @@
     <option name="testRunner" value="GRADLE" />
     <option name="delegatedBuild" value="true" />
   </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/GUI/DrawingArea.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="427" column="15" selection-start-line="427" selection-start-column="10" selection-end-line="427" selection-end-column="15" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/GUI/ChatScreen.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="195" column="21" selection-start-line="195" selection-start-column="16" selection-end-line="195" selection-end-column="21" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/GUI/StartScreen.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="68">
+              <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/server/Server.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="204">
+              <caret line="106" column="51" lean-forward="true" selection-start-line="106" selection-start-column="51" selection-end-line="106" selection-end-column="51" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/GUI/PaintGUI.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="85" column="15" selection-start-line="85" selection-start-column="10" selection-end-line="85" selection-end-column="15" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/client/Client.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="95" column="42" selection-start-line="95" selection-start-column="27" selection-end-line="95" selection-end-column="42" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/client/ClientUpdate.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="7" column="31" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="31" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/client/DrawingUpdate.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="12" column="31" selection-start-line="12" selection-start-column="16" selection-end-line="12" selection-end-column="31" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/client/EncryptionUpdate.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="8" column="31" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="31" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/GUI/ApplicationMain.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="101">
+              <caret line="93" column="15" selection-start-line="93" selection-start-column="10" selection-end-line="93" selection-end-column="15" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
@@ -25,6 +144,12 @@
       </list>
     </option>
   </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>RemoteException</find>
+      <find>catch</find>
+    </findStrings>
+  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
     <option name="RECENT_BRANCH_BY_REPOSITORY">
@@ -33,7 +158,54 @@
       </map>
     </option>
   </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/GUI/PaintGUI.java" />
+        <option value="$PROJECT_DIR$/src/GUI/ApplicationMain.java" />
+        <option value="$PROJECT_DIR$/src/GUI/DrawingArea.java" />
+        <option value="$PROJECT_DIR$/src/GUI/ChatScreen.java" />
+        <option value="$PROJECT_DIR$/src/server/Server.java" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-12" />
+    <option name="width" value="1944" />
+    <option name="height" value="876" />
+  </component>
   <component name="ProjectId" id="1SVgnDiSFxSanFbLYY5D9RJaXPS" />
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
+              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
+              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
+              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="server" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scope" />
+      <pane id="PackagesPane" />
+    </panes>
+  </component>
   <component name="PropertiesComponent">
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="UI_DESIGNER_EDITOR_MODE.UIDesignerToolWindowManager.WIDTH" value="387" />
@@ -59,46 +231,7 @@
       </list>
     </option>
   </component>
-  <component name="RunManager" selected="Application.Server">
-    <configuration name="AlbumTrackTable" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="client.AlbumTrackTable" />
-      <module name="infinitymonkeys" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="client.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="BlinkColorTextField" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="client.BlinkColorTextField" />
-      <module name="infinitymonkeys" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="client.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="BlinkingPrototype" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="client.BlinkingPrototype" />
-      <module name="infinitymonkeys" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="client.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
+  <component name="RunManager" selected="Application.Client1">
     <configuration name="Client 3" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
@@ -106,7 +239,7 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration name="Client1" type="Application" factoryName="Application">
+    <configuration name="Client1" type="Application" factoryName="Application" singleton="false">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
       <method v="2">
@@ -123,33 +256,7 @@
     <configuration name="Server" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="server.Server" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="10.12.110.122" />
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="TestList" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="client.TestList" />
-      <module name="infinitymonkeys" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="client.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="WhiteYellow" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="client.WhiteYellow" />
-      <module name="infinitymonkeys" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="client.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
+      <option name="PROGRAM_PARAMETERS" value="10.13.64.162" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -159,21 +266,7 @@
       <item itemvalue="Application.Client1" />
       <item itemvalue="Application.Client2" />
       <item itemvalue="Application.Client 3" />
-      <item itemvalue="Application.BlinkingPrototype" />
-      <item itemvalue="Application.WhiteYellow" />
-      <item itemvalue="Application.AlbumTrackTable" />
-      <item itemvalue="Application.TestList" />
-      <item itemvalue="Application.BlinkColorTextField" />
     </list>
-    <recent_temporary>
-      <list>
-        <item itemvalue="Application.BlinkColorTextField" />
-        <item itemvalue="Application.BlinkingPrototype" />
-        <item itemvalue="Application.TestList" />
-        <item itemvalue="Application.WhiteYellow" />
-        <item itemvalue="Application.AlbumTrackTable" />
-      </list>
-    </recent_temporary>
   </component>
   <component name="SvnConfiguration">
     <configuration />
@@ -190,6 +283,7 @@
       <workItem from="1571786278739" duration="3319000" />
       <workItem from="1571915914956" duration="3985000" />
       <workItem from="1571955297053" duration="15040000" />
+      <workItem from="1571987111635" duration="1790000" />
     </task>
     <task id="LOCAL-00001" summary="Changed the join method to send over a reference of the ClientUpdate Interface">
       <created>1571646862883</created>
@@ -208,6 +302,46 @@
     <option name="localTasksCounter" value="3" />
     <servers />
   </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="1790000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-7" y="-7" width="1295" height="704" extended-state="6" />
+    <editor active="true" />
+    <layout>
+      <window_info id="Designer" />
+      <window_info id="Image Layers" />
+      <window_info id="Capture Tool" />
+      <window_info id="UI Designer" />
+      <window_info id="Favorites" side_tool="true" />
+      <window_info id="JavaEE:App" side_tool="true" />
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24939272" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info anchor="bottom" id="Terminal" />
+      <window_info anchor="bottom" id="Docker" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Sequence" />
+      <window_info anchor="bottom" id="Event Log" side_tool="true" />
+      <window_info anchor="bottom" id="Messages" />
+      <window_info anchor="bottom" id="Database Changes" />
+      <window_info anchor="bottom" id="Version Control" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.32867134" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="right" id="Maven" />
+      <window_info anchor="right" id="Palette" />
+      <window_info anchor="right" id="Capture Analysis" />
+      <window_info anchor="right" id="Database" />
+      <window_info anchor="right" id="Palette&#9;" />
+      <window_info anchor="right" id="Theme Preview" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+    </layout>
+  </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
@@ -227,17 +361,187 @@
         <entry key="MAIN">
           <value>
             <State>
+              <option name="RECENTLY_FILTERED_USER_GROUPS">
+                <collection />
+              </option>
+              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+                <collection />
+              </option>
               <option name="COLUMN_ORDER" />
             </State>
           </value>
         </entry>
       </map>
     </option>
+    <option name="RECENT_FILTERS">
+      <map>
+        <entry key="Branch">
+          <value>
+            <list />
+          </value>
+        </entry>
+        <entry key="User">
+          <value>
+            <list />
+          </value>
+        </entry>
+      </map>
+    </option>
   </component>
   <component name="VcsManagerConfiguration">
     <MESSAGE value="Changed the join method to send over a reference of the ClientUpdate Interface" />
     <option name="LAST_COMMIT_MESSAGE" value="Changed the join method to send over a reference of the ClientUpdate Interface" />
   </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/client/ChatUpdate.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="49" column="77" selection-start-line="49" selection-start-column="62" selection-end-line="49" selection-end-column="77" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/client/Client.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="95" column="42" selection-start-line="95" selection-start-column="27" selection-end-line="95" selection-end-column="42" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/client/ClientUpdate.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="7" column="31" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/client/DrawingUpdate.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="12" column="31" selection-start-line="12" selection-start-column="16" selection-end-line="12" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/client/EncryptionUpdate.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="8" column="31" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/GUI/DrawingArea.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="427" column="15" selection-start-line="427" selection-start-column="10" selection-end-line="427" selection-end-column="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/GUI/ApplicationMain.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="93" column="15" selection-start-line="93" selection-start-column="10" selection-end-line="93" selection-end-column="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/GUI/PaintGUI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="85" column="15" selection-start-line="85" selection-start-column="10" selection-end-line="85" selection-end-column="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/GUI/ChatScreen.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="101">
+          <caret line="195" column="21" selection-start-line="195" selection-start-column="16" selection-end-line="195" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/GUI/StartScreen.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="68">
+          <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/server/Server.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="204">
+          <caret line="106" column="51" lean-forward="true" selection-start-line="106" selection-start-column="51" selection-end-line="106" selection-end-column="51" />
+        </state>
+      </provider>
+    </entry>
+  </component>
+  <component name="masterDetails">
+    <states>
+      <state key="ArtifactsStructureConfigurable.UI">
+        <settings>
+          <artifact-editor />
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="FacetStructureConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="GlobalLibrariesConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="JdkListConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ModuleStructureConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ProjectLibrariesConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+    </states>
+  </component>
   <component name="simpleUML.UMLToolWindowPlugin">
     <General>
       <option name="birdViewUpdateDelay" value="2000" />
diff --git a/out/production/infinitymonkeys/GUI/ApplicationMain$1.class b/out/production/infinitymonkeys/GUI/ApplicationMain$1.class
index fcdc48602cd2ed6ab5078d1bea4bbab1255dd03a..de13bd8e2a857c838d2680ee7577252337b9ee96 100644
Binary files a/out/production/infinitymonkeys/GUI/ApplicationMain$1.class and b/out/production/infinitymonkeys/GUI/ApplicationMain$1.class differ
diff --git a/out/production/infinitymonkeys/GUI/ApplicationMain.class b/out/production/infinitymonkeys/GUI/ApplicationMain.class
index b19dc9d9b2eada94e9f2c8851184354cf191d3c1..3c98d749bbac24b3af1fc1b9dc36ba3ab4d53333 100644
Binary files a/out/production/infinitymonkeys/GUI/ApplicationMain.class and b/out/production/infinitymonkeys/GUI/ApplicationMain.class differ
diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$1.class b/out/production/infinitymonkeys/GUI/ChatScreen$1.class
index efd35c254c1dcd113db9894344579d3cd5963f1d..cd369e7061d7c82eb84fede9d52c0f3b5c2feab9 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 9cd0170f385893cb6f6503dba1b12f5f1ffbea22..b19fd0225b9de5ec447780207c276fe22425d0fc 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 38b9996d7c65f8f47dff7c57b79e10702e6ad635..020f7f7b7205da256ae0fe46f5fc81c752fdde41 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.class b/out/production/infinitymonkeys/GUI/DrawingArea.class
index 50d6dfaec1e7748e3abf8eaa5ef64db949d37957..37586ef27dda89404ffd782e350363fa3afe4125 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 7fce18d0342e0ca5548cc3e38bdbfe4da9c22879..b00acbc0bf6a60c3ce7a3c32af05f1a7490ab9ce 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 2f499dbbe39bd0ff0c5a160adc9a89264b7d0a82..13359c43ce691b91e08a770194a26357ab4ae9de 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 1e9d7ebe50e42e918dbe7b7c29fca67e807289bc..bdf80ef5f698d814a37a2f9388bbc28c31845266 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 198f611af82d26de01a9edf8157fbc742677c7e6..3c75e4eff4740232a34d340af4bd4e09ff3c502d 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/client/Client.class b/out/production/infinitymonkeys/client/Client.class
index e224883a43ce45dc62348035bf387924ae3ebe15..c6a8c875f45b154550352c748e2833fea6df2de3 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/client/ClientUpdate$1.class b/out/production/infinitymonkeys/client/ClientUpdate$1.class
index 4bcf9636a6fb854dde6e263d81fc41f259703c55..9d6140add3703d800f006cb25a781bc5a39cde41 100644
Binary files a/out/production/infinitymonkeys/client/ClientUpdate$1.class and b/out/production/infinitymonkeys/client/ClientUpdate$1.class differ
diff --git a/out/production/infinitymonkeys/client/ClientUpdate.class b/out/production/infinitymonkeys/client/ClientUpdate.class
index 546c909d1a2d5ac4faace3164e5479d8faa5159b..b9dca52e7171d7d71ed6de19e71561a60b7a9966 100644
Binary files a/out/production/infinitymonkeys/client/ClientUpdate.class and b/out/production/infinitymonkeys/client/ClientUpdate.class differ
diff --git a/out/production/infinitymonkeys/client/DrawingUpdate.class b/out/production/infinitymonkeys/client/DrawingUpdate.class
index 2b05fdbd8140e60af6954b926d0c877d00debcb2..170458854e5ccc65fa78b796928745b5b9c87396 100644
Binary files a/out/production/infinitymonkeys/client/DrawingUpdate.class and b/out/production/infinitymonkeys/client/DrawingUpdate.class differ
diff --git a/out/production/infinitymonkeys/client/EncryptionUpdate.class b/out/production/infinitymonkeys/client/EncryptionUpdate.class
index d1cd42f871ec50b9e0a09577dd32bd5e9bfc8527..5a19936163cb4a6039971f14fe91ce5c8f54707c 100644
Binary files a/out/production/infinitymonkeys/client/EncryptionUpdate.class and b/out/production/infinitymonkeys/client/EncryptionUpdate.class differ
diff --git a/out/production/infinitymonkeys/client/removeClientTimer.class b/out/production/infinitymonkeys/client/removeClientTimer.class
index 5c5958ca564b2a0b1c4a1eb90badd056430af59b..bc84299015c6ee1d659b792def75320715019a83 100644
Binary files a/out/production/infinitymonkeys/client/removeClientTimer.class and b/out/production/infinitymonkeys/client/removeClientTimer.class differ
diff --git a/out/production/infinitymonkeys/remote/EncryptDecrypt.class b/out/production/infinitymonkeys/remote/EncryptDecrypt.class
index 73e4cf555753915b87f069370969029081c95c1d..77d6974c942c0ec4fa2556b56ae4d156e50175d2 100644
Binary files a/out/production/infinitymonkeys/remote/EncryptDecrypt.class and b/out/production/infinitymonkeys/remote/EncryptDecrypt.class differ
diff --git a/out/production/infinitymonkeys/server/ChatController.class b/out/production/infinitymonkeys/server/ChatController.class
index e19d9b5594db9e967727e2bac0ed0c6270892bc0..f3a806546dbe309c9520d93fb12a7d959cf87fed 100644
Binary files a/out/production/infinitymonkeys/server/ChatController.class and b/out/production/infinitymonkeys/server/ChatController.class differ
diff --git a/out/production/infinitymonkeys/server/ClientController$1.class b/out/production/infinitymonkeys/server/ClientController$1.class
index 1d2a2d641a54e21f04f273f959e20c26138470ac..4e5dfbe0d9b2c595b99e4ed12e6d010481db13be 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 1137f97e87947c41a2ef634c061af3ee2d307002..ddb149dbc7c12dfd9d33fd454d74670183962662 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 8df5097a80f3be35d67428fc08b997c6eb160bc5..0953d6c03b40879c58e5fded363ad3bd05b3076e 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/MySharedKey.class b/out/production/infinitymonkeys/server/MySharedKey.class
index 956b64e2acf75a75257e07e05c60b164dc4ab935..7d014a97e15422d71f9d58e48a79c9152400514b 100644
Binary files a/out/production/infinitymonkeys/server/MySharedKey.class and b/out/production/infinitymonkeys/server/MySharedKey.class differ
diff --git a/out/production/infinitymonkeys/server/Server.class b/out/production/infinitymonkeys/server/Server.class
index 8919054db272df40c9bb7402201adce8d90c01fe..f1328e13d815ac64a479b95deb9e1c351e3c0016 100644
Binary files a/out/production/infinitymonkeys/server/Server.class and b/out/production/infinitymonkeys/server/Server.class differ
diff --git a/src/GUI/ApplicationMain.java b/src/GUI/ApplicationMain.java
index 0d13b9b72e81728f5e07a27b805a4e358b33f142..240f330e4578b4a818614ec32099a1aa27384d58 100644
--- a/src/GUI/ApplicationMain.java
+++ b/src/GUI/ApplicationMain.java
@@ -98,8 +98,11 @@ public class ApplicationMain extends JPanel {
         try {
             client.getDrawingController().getImage(client.getUserName());
         }
-        catch (RemoteException err) {
-            err.printStackTrace();
+        catch (RemoteException err)
+        {
+            StartScreen.showErrorMessage("Connection with server lost");
+            System.exit(0);
+            //err.printStackTrace();
         }
 
 
@@ -171,8 +174,11 @@ public class ApplicationMain extends JPanel {
                     exitApplication();
                 }
             }
-        } catch (RemoteException e) {
-            e.printStackTrace();
+        } catch (RemoteException e)
+        {
+            StartScreen.showErrorMessage("Connection with server lost");
+            System.exit(0);
+            //e.printStackTrace();
         }
     }
 
diff --git a/src/GUI/ChatScreen.java b/src/GUI/ChatScreen.java
index 4d6aed26e7882aecc6e0422a34a08b1ed4306d2c..c8a432fc142955bff2a696a1cd2c55525610bb8e 100644
--- a/src/GUI/ChatScreen.java
+++ b/src/GUI/ChatScreen.java
@@ -119,8 +119,11 @@ public class ChatScreen {
                 promoteToManagerButton.setEnabled(false);
                 client.getApplicationMain().getPaintGUI().disableFileControl();
             }
-        } catch (RemoteException e) {
-            e.printStackTrace();
+        } catch (RemoteException e)
+        {
+            StartScreen.showErrorMessage("Connection with server lost");
+            System.exit(0);
+            //e.printStackTrace();
         }
     }
 
@@ -154,7 +157,9 @@ public class ChatScreen {
                 }
                 catch (RemoteException ex)
                 {
-                    ex.printStackTrace();
+                    StartScreen.showErrorMessage("Connection with server lost");
+                    System.exit(0);
+                    //ex.printStackTrace();
                 }
             }
             else if (e.getSource() == exitThisRoomButton)
@@ -172,8 +177,9 @@ public class ChatScreen {
                     clientController.kickUser(client.getUserName(), toUser);
                 }
                 catch (RemoteException ex) {
-
-                    ex.printStackTrace();
+                    StartScreen.showErrorMessage("Connection with server lost");
+                    System.exit(0);
+                    //ex.printStackTrace();
                 }
 
             }
@@ -188,7 +194,9 @@ public class ChatScreen {
                     clientController.assignAdmin(client.getUserName(), toUser);
                 }
                 catch (RemoteException ex) {
-                    ex.printStackTrace();
+                    StartScreen.showErrorMessage("Connection with server lost");
+                    System.exit(0);
+                    //ex.printStackTrace();
                 }
 
             }
diff --git a/src/GUI/DrawingArea.java b/src/GUI/DrawingArea.java
index 94f45f403ab250a17e4283416c9c034e8e44cbaa..cd757c3ae7ae4729885793a14a3d760dbf791369 100644
--- a/src/GUI/DrawingArea.java
+++ b/src/GUI/DrawingArea.java
@@ -212,8 +212,11 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
                 g2.drawString(textString, startPoint.x, startPoint.y);
                 try {
                     client.getDrawingController().broadcastText(client.getUserName(), textString, g2.getFont(), shapeColor, startPoint);
-                } catch (RemoteException ex) {
-                    ex.printStackTrace();
+                } catch (RemoteException ex)
+                {
+                    StartScreen.showErrorMessage("Connection with server lost");
+                    System.exit(0);
+                    //ex.printStackTrace();
                 }
                 repaint();
                 break;
@@ -305,8 +308,11 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
 //            }
 
 
-        } catch (RemoteException ex) {
-            ex.printStackTrace();
+        } catch (RemoteException ex)
+        {
+            StartScreen.showErrorMessage("Connection with server lost");
+            System.exit(0);
+            //ex.printStackTrace();
         }
 
         drawing = null;
@@ -420,7 +426,9 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
             }
 
         } catch (RemoteException ex) {
-            ex.printStackTrace();
+            StartScreen.showErrorMessage("Connection with server lost");
+            System.exit(0);
+            //ex.printStackTrace();
         }
     }
 
diff --git a/src/GUI/PaintGUI.java b/src/GUI/PaintGUI.java
index a2971193eadc8407e826b23b04ec3a7437112a1b..72d632a56234ba4ce44d0d67c050fa38b80b640b 100644
--- a/src/GUI/PaintGUI.java
+++ b/src/GUI/PaintGUI.java
@@ -236,7 +236,9 @@ public class PaintGUI extends JPanel {
                     }
                     catch (RemoteException err)
                     {
-                        err.printStackTrace();
+                        StartScreen.showErrorMessage("Connection with server lost");
+                        System.exit(0);
+                        //err.printStackTrace();
                     }
 
                     ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -254,7 +256,9 @@ public class PaintGUI extends JPanel {
                             client.getDrawingController().broadcastUpdateImage(client.getUserName());
                         }
                     } catch (RemoteException ex) {
-                        ex.printStackTrace();
+                        StartScreen.showErrorMessage("Connection with server lost");
+                        System.exit(0);
+                        //ex.printStackTrace();
                     }
                 }
 
diff --git a/src/server/Server.java b/src/server/Server.java
index 517469cb256874cffb99cbad0baad26e4a7e6ace..da4be37fa3a1dab5dd7921f709e011e1c414fe49 100644
--- a/src/server/Server.java
+++ b/src/server/Server.java
@@ -112,6 +112,6 @@ public class Server
         }
 
         System.out.println("IP Address:- " + inetAddress.getHostAddress());
-        System.out.println("Host Name:- " + inetAddress.getHostName());
+        //System.out.println("Host Name:- " + inetAddress.getHostName());
     }
 }