diff --git a/.gitignore b/.gitignore
index 54fef41b07624c6f484c693ab899f438183ef923..24fc066ae94c736ff15116af88e24899177ff374 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,4 @@
 /workspace.xml
 /.idea
 /venv
-/CA
 **/__pycache__/
\ No newline at end of file
diff --git a/CA-ES/es.py b/CA-ES/es.py
index 0615eadc3fdc680799707388eeaf2e1b9939372f..f86f76d58e8a8330e89f9c2852ccabf27d8728e2 100644
--- a/CA-ES/es.py
+++ b/CA-ES/es.py
@@ -258,13 +258,12 @@ class ES:
                         mpos_x, mpos_y = event.pos
                         mpos_x, mpos_y = mpos_x // cellsize, mpos_y // cellsize
                         x_eval[:, mpos_y:mpos_y + dmg_size, mpos_x:mpos_x + dmg_size, :] = 0
-                        damaged = 100 # the number of steps to record loss after damage hass occurred
+                        damaged = 100 # number of steps to record loss after damage has occurred
 
             x_eval = model(x_eval)
             image = to_rgb(x_eval).permute(0, 3, 1, 2)
-            # Very quick hack to get rid of the batch dimension in tensor
+            
             save_image(image, imgpath, nrow=1, padding=0)
-            image = np.asarray(Image.open(imgpath))
 
             if damaged > 0:
                 loss= self.net.loss(x_eval, self.pad_target)
@@ -277,6 +276,9 @@ class ES:
                     losses.clear()
                 damaged -= 1
 
+            # Saving and loading each image as a quick hack to get rid of the batch dimension in tensor
+            image = np.asarray(Image.open(imgpath))
+
             self.game_update(surface, image, cellsize)
             time.sleep(0.05)
             pygame.display.update()
diff --git a/CA-ES/main.py b/CA-ES/main.py
index a4a36c2c767408be5b533ce21c1b5f63049bdb46..3468f92f7b03d94a641e7e86586e6b1075de0cd1 100644
--- a/CA-ES/main.py
+++ b/CA-ES/main.py
@@ -17,7 +17,7 @@ if __name__ == '__main__':
 
     parser = argparse.ArgumentParser()
 
-    parser.add_argument("--mode", type=str, default="graphic", metavar="train/interactive/graphic", help="Decides mode to run e.g. train or damage")
+    parser.add_argument("--mode", type=str, default="graphic", metavar="train/interactive/graphic", help="Decides mode to run")
 
     parser.add_argument("--population_size", type=int, default=16, metavar=128, help="Population size")
     parser.add_argument("--n_iterations", type=int, default=100, help="Number of iterations to train for.")
diff --git a/damage_ca/damage.py b/damage_ca/damage.py
index 98dbb68987e39a362d446c4657b8fab6bf30f5ca..668afdb00ad5abcc6773a8266b354b8ce1eecd5b 100644
--- a/damage_ca/damage.py
+++ b/damage_ca/damage.py
@@ -17,6 +17,7 @@ class Damage():
         self.size = args.size+2 +self.padding
         self.logdir = args.logdir
         self.load_model_path = args.load_model_path
+        self.n_channels = args.n_channels
         self.target_img = load_emoji(args.img, self.size) #rgba img
 
         p = self.padding
@@ -38,14 +39,24 @@ class Damage():
         self.net.double()
 
     def run(self):
+        imgpath = '%s/damaged.png' % (self.logdir)
         self.load_model(self.load_model_path) # model loaded
         x = self.x0.clone()
         for i in range(self.n_iterations): # fully grow first
             x_eval = self.net(x)
-            loss=self.net.loss(x_eval, self.pad_target)
+            loss = self.net.loss(x_eval, self.pad_target)
             self.writer.add_scalar("dmg/loss", loss, i)
 
             if i % self.dmg_freq == 0: # do damage
-                x_eval 
+                #lower half
+                y_pos = (self.size // 2) + 1
+                dmg_size = self.size
+                x_eval[:, y_pos:y_pos + dmg_size, 0:0 + dmg_size, :] = 0
+                image = to_rgb(x_eval).permute(0, 3, 1, 2)
+                save_image(image, imgpath, nrow=1, padding=0)
+        
+        imgpath = '%s/done.png' % (self.logdir)
+        image = to_rgb(x_eval).permute(0, 3, 1, 2)
+        save_image(image, imgpath, nrow=1, padding=0)
                     
     
\ No newline at end of file
diff --git a/damage_ca/main.py b/damage_ca/main.py
index 79bf829b816208b85c511ad874cf7b33d1db4cf2..84e9f58619fdce7b70d94b75fa0c710bc0780d33 100644
--- a/damage_ca/main.py
+++ b/damage_ca/main.py
@@ -12,7 +12,8 @@ if __name__ == '__main__':
 
     parser.add_argument("--n_iterations", type=int, default=100, help="Number of iterations to test for.")
     parser.add_argument("--batch_size", type=int, default=1, help="Batch size.")
-    parser.add_argument("--dmg_freq", type=int, default=500, help="Frequency for damaging",)
+    parser.add_argument("--n_channels", type=int, default=16, help="Number of channels of the input tensor")
+    parser.add_argument("--dmg_freq", type=int, default=51, help="Frequency for damaging",)
 
     parser.add_argument("--alpha", type=float, default=0.005, metavar=0.005, help="Alpha for how much noise to add")
     parser.add_argument("--padding", type=int, default=0, help="Padding for image")
@@ -39,4 +40,5 @@ if __name__ == '__main__':
 
     #dmg here
     dmg = Damage(args)
+    dmg.run()
     
\ No newline at end of file