diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 0976e4f7632dcd050dd95e6e19222ef98ec37e75..4c076feedda8d8652a06253f1c78b252c0d91a5e 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -20,6 +20,7 @@ import javafx.scene.control.ToggleGroup;
 import javafx.util.Duration;
 import javafx.util.Pair;
 import model.Board;
+import model.EmptySquare;
 import model.Entity;
 import model.EntityFactory;
 import model.Model;
@@ -94,8 +95,8 @@ public class Controller {
   private ViewElement getViewElement(Square square) {
     if (!square.getEntities().isEmpty()) {
       for (Entity entity : square.getEntities()) {
-
-          return new ViewElement(entity.getImage());
+        if(entity instanceof EmptySquare)continue;
+          return entity.getViewElement();
       }
     }
     return new ViewElement(square.getViewColor());
diff --git a/src/main/java/model/EmptySquare.java b/src/main/java/model/EmptySquare.java
index b32c51655761c436b39052249badbe938bd53730..e14e38d7c9164b0f00a3146efd551e1bf7ded8c7 100644
--- a/src/main/java/model/EmptySquare.java
+++ b/src/main/java/model/EmptySquare.java
@@ -6,6 +6,7 @@ import java.util.List;
 import javafx.scene.paint.Color;
 import model.firefighterscenario.Cloud;
 import util.Position;
+import view.ViewElement;
 
 public class EmptySquare implements Entity {
 
@@ -73,7 +74,7 @@ public class EmptySquare implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java
index dc29e8ea087302ed9c1b850367f25bdd66db85a8..2b53e3ae3319c167dfee1d7843b73d3fa312c4bf 100644
--- a/src/main/java/model/Entity.java
+++ b/src/main/java/model/Entity.java
@@ -1,9 +1,9 @@
 package model;
-import javafx.scene.image.Image;
 import java.util.List;
 
 import javafx.scene.paint.Color;
 import util.Position;
+import view.ViewElement;
 
 
 public interface Entity {
@@ -21,5 +21,5 @@ public interface Entity {
     public void incrementAge();
     public Color getViewColor();
     public int getPriority();
-    public Image getImage();
+    public ViewElement getViewElement();
 }
diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java
index 74e6c46477434883795d7a47a853f5f2e761a63a..e208d99a8f20bfbec11d75ae327f055f06472099 100644
--- a/src/main/java/model/Road.java
+++ b/src/main/java/model/Road.java
@@ -5,6 +5,7 @@ import java.util.List;
 import javafx.scene.paint.Color;
 import model.firefighterscenario.Cloud;
 import util.Position;
+import view.ViewElement;
 
 public class Road implements Entity{
     private int age;
@@ -65,8 +66,8 @@ public class Road implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement(){
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/Scenario.java b/src/main/java/model/Scenario.java
index b0943a4088cf9a90a66edee097db249ae2295476..912f7fbb89abb070eab0b2c42cd202b5727c60f2 100644
--- a/src/main/java/model/Scenario.java
+++ b/src/main/java/model/Scenario.java
@@ -86,7 +86,6 @@ public class Scenario implements Board<Square>{
   @Override
   public void clearCaseFrom(Entity entity, Position position) {
     if(!matrix.get(position.x(), position.y()).getEntities().removeIf(element -> element.equals(entity))){
-      System.out.println("didn't clear, tried to clear : x:" + position.x() + " y : " + position.y());
       for(Entity e : getStates(position).getEntities()){
         System.out.println(e);
       }
diff --git a/src/main/java/model/doctorviruspatient/Doctor.java b/src/main/java/model/doctorviruspatient/Doctor.java
index 2724db6575c46afdef0c980f1336da7f86b01d9c..cb2d809abc762d4db9990b7d15f2c90d15e1b390 100644
--- a/src/main/java/model/doctorviruspatient/Doctor.java
+++ b/src/main/java/model/doctorviruspatient/Doctor.java
@@ -13,6 +13,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Doctor implements Entity {
     private final int priority = 1;
@@ -163,8 +164,8 @@ public class Doctor implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement (cloudImage);
     }
 
 
diff --git a/src/main/java/model/doctorviruspatient/Patient.java b/src/main/java/model/doctorviruspatient/Patient.java
index 41c31b7354a70ce30a60c2d30c175b92eca96c89..8e1387910f29240fffba163eec35593673304747 100644
--- a/src/main/java/model/doctorviruspatient/Patient.java
+++ b/src/main/java/model/doctorviruspatient/Patient.java
@@ -13,6 +13,7 @@ import model.firefighterscenario.Cloud;
 import util.PathGenerator;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Patient implements Entity {
     private final int priority = 1;
@@ -349,8 +350,8 @@ public class Patient implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return isInfected() ? infectedImage : healthyImage;
+    public ViewElement getViewElement() {
+        return isInfected() ? new ViewElement(infectedImage) : new ViewElement(healthyImage);
     }
 
 
diff --git a/src/main/java/model/doctorviruspatient/Virus.java b/src/main/java/model/doctorviruspatient/Virus.java
index 4d06b86134b06e603c405e7c26f971825f4ea5b8..632b4258afba963d57cd1fc1d06262ae36f96e0e 100644
--- a/src/main/java/model/doctorviruspatient/Virus.java
+++ b/src/main/java/model/doctorviruspatient/Virus.java
@@ -12,6 +12,7 @@ import model.firefighterscenario.Cloud;
 import util.PathGenerator;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Virus implements Entity {
     private final int priority = 2;
@@ -159,8 +160,8 @@ public class Virus implements Entity {
 
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/firefighterscenario/AirTanker.java b/src/main/java/model/firefighterscenario/AirTanker.java
index 015b3e5535e0eb6261db798422a79b469d30454f..130850ac5509eca671da995d13c77c4d07d78cfc 100644
--- a/src/main/java/model/firefighterscenario/AirTanker.java
+++ b/src/main/java/model/firefighterscenario/AirTanker.java
@@ -11,6 +11,7 @@ import model.Square;
 import util.Direction;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class AirTanker implements Entity{
     private final Color viewColor = Color.GOLD;
@@ -173,7 +174,7 @@ public class AirTanker implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/Cloud.java b/src/main/java/model/firefighterscenario/Cloud.java
index 1ef87b4f890e6e19a0fd11930c0eb3f77b0884bb..99caef1fe965b3093cf7f4b04bb520d18193ab85 100644
--- a/src/main/java/model/firefighterscenario/Cloud.java
+++ b/src/main/java/model/firefighterscenario/Cloud.java
@@ -10,6 +10,7 @@ import model.Entity;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Cloud implements Entity{
     private int age;
@@ -116,8 +117,8 @@ public class Cloud implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 
diff --git a/src/main/java/model/firefighterscenario/Fire.java b/src/main/java/model/firefighterscenario/Fire.java
index 2d63a9093eb9e0f73edae4f5ec56270131bf5470..05f4b9874df8e830646f680d08b8c4696ff96b61 100644
--- a/src/main/java/model/firefighterscenario/Fire.java
+++ b/src/main/java/model/firefighterscenario/Fire.java
@@ -12,6 +12,7 @@ import model.Road;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 
 public class Fire implements Entity {
@@ -143,8 +144,8 @@ public class Fire implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/firefighterscenario/FireFighter.java b/src/main/java/model/firefighterscenario/FireFighter.java
index a21c13294297c55532ed7c1f48552f88ef6e1fc1..7403803f0ea2731ded1113656b0c62b6ffd5cd00 100644
--- a/src/main/java/model/firefighterscenario/FireFighter.java
+++ b/src/main/java/model/firefighterscenario/FireFighter.java
@@ -10,6 +10,7 @@ import model.Entity;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 
 
@@ -235,7 +236,7 @@ public class FireFighter implements Entity {
     public int getPriority(){ return this.priority;}
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
index cb315fd7ed31dc6e11956e7452144297e6531f6f..904a3387a1b86b46d03ddea6b7d48eb6c5fc5da5 100644
--- a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
+++ b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
@@ -8,6 +8,7 @@ import model.Board;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class MotorizedFireFighter extends FireFighter {
     private final Color viewColor = Color.CYAN;
@@ -125,7 +126,7 @@ public class MotorizedFireFighter extends FireFighter {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/model/firefighterscenario/Mountain.java b/src/main/java/model/firefighterscenario/Mountain.java
index d55af5f18bb5e8b455f9c0291b9d9360a61dae00..f8bd49c0f4a94c4c3f2deb1db85fc82670ec3f15 100644
--- a/src/main/java/model/firefighterscenario/Mountain.java
+++ b/src/main/java/model/firefighterscenario/Mountain.java
@@ -7,6 +7,7 @@ import model.Board;
 import model.Entity;
 import model.Square;
 import util.Position;
+import view.ViewElement;
 
 public class Mountain implements Entity{
     private final int priority = 0;
@@ -75,7 +76,7 @@ public class Mountain implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/Rockery.java b/src/main/java/model/firefighterscenario/Rockery.java
index 2953bbb1797b712a16148db9c02bb0f27375ee6a..26b0856a4089a35b61e36e4032292ea5a1c5b08f 100644
--- a/src/main/java/model/firefighterscenario/Rockery.java
+++ b/src/main/java/model/firefighterscenario/Rockery.java
@@ -7,6 +7,7 @@ import model.Board;
 import model.Entity;
 import model.Square;
 import util.Position;
+import view.ViewElement;
 
 public class Rockery implements Entity{
     private final int priority = 0;
@@ -90,7 +91,7 @@ public class Rockery implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/rockpapercisor/Cisor.java b/src/main/java/model/rockpapercisor/Cisor.java
index 1a9fdfa0403a4e4b51b538e5f8aa07f4f4f01b9d..0ab152ea50dc664b7054bb91c221051570bd675d 100644
--- a/src/main/java/model/rockpapercisor/Cisor.java
+++ b/src/main/java/model/rockpapercisor/Cisor.java
@@ -11,6 +11,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Cisor implements Entity {
     private final int priority = 0;
@@ -133,8 +134,8 @@ public class Cisor implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/rockpapercisor/Paper.java b/src/main/java/model/rockpapercisor/Paper.java
index c4454cf6bdf78a2789335da6cc35a7958e8efae5..9f972a30e2e18fcf11ab89700ae7798cc19aa01e 100644
--- a/src/main/java/model/rockpapercisor/Paper.java
+++ b/src/main/java/model/rockpapercisor/Paper.java
@@ -10,6 +10,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Paper implements Entity {
     private final int priority = 0;
@@ -115,8 +116,8 @@ public class Paper implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/rockpapercisor/Rock.java b/src/main/java/model/rockpapercisor/Rock.java
index 6cc8112630cf8077ddb33ddcfe442fdad2ad6103..459c0e6895594f1f2b296f31483c487c5939d18f 100644
--- a/src/main/java/model/rockpapercisor/Rock.java
+++ b/src/main/java/model/rockpapercisor/Rock.java
@@ -10,6 +10,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Rock implements Entity {
     private final int priority = 0;
@@ -116,8 +117,8 @@ public class Rock implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement(){
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java
index 67dc61c1e91e6400eb639b23f86ef1f04ebf67eb..5d043c8cf8fbb48fac5df25eaf81849618a0c0a2 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/FirefighterGrid.java
@@ -1,9 +1,8 @@
 package view;
-import javafx.scene.image.Image;
-
 import java.util.List;
 
 import javafx.scene.canvas.Canvas;
+import javafx.scene.image.Image;
 import javafx.scene.paint.Color;
 import javafx.util.Pair;
 import util.Position;
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index 3059a474eba08dc25e8e0e9cb8a186344a5c85c1..028b6b737cc364dcc1cd358252213fc249c4b9a4 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -17,6 +17,7 @@ public class ViewElement {
     public ViewElement(Image image) {
         this.color = null;
         this.image = image;
+        System.out.println("defining image : " + image.getUrl());
     }
 
     public Color getColor() {