diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 19a03eefe2e98a6b30c7ed132d666a578bcf20e0..ac18882cc072af0e0924338e9474aa9bc761d15a 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -94,6 +94,9 @@ public class Controller {
     if (squareState.contains(ModelElement.ROAD)) {
       return ViewElement.ROAD;
     }
+    if (squareState.contains(ModelElement.MOUNTAIN)) {
+      return ViewElement.MOUNTAIN;
+    }
     return ViewElement.EMPTY;
   }
 
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index f07b2f8108812830c9fd5815d69495b99977517c..b656cf75278d2f5d4067097cad54900cfda5a35e 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -6,6 +6,7 @@ import util.TargetStrategy;
 
 import java.util.ArrayList;
 
+import java.util.HashSet;
 import java.util.List;
 
 
@@ -29,17 +30,26 @@ public class FireFighter extends Extinguisher {
         Position currentPosition = this.getPosition();
         Position newPosition = targetStrategy.neighborClosestToFire(currentPosition, firefighterBoard.getFires().keySet(), this.neighbour.getNeighbors());
 
+
         this.setPosition(newPosition);
         modifiedPositions.add(currentPosition);
         modifiedPositions.add(newPosition);
 
         extinguish(firefighterBoard,newPosition);
 
+
+
         for (Position neighbor : this.neighbour.getNeighbors().get(newPosition)) {
             extinguish(firefighterBoard,neighbor);
             modifiedPositions.add(neighbor);
         }
 
+        for(Obstacle obstacle : firefighterBoard.getObstacles().values()){
+            if(obstacle instanceof Montain){
+                modifiedPositions.remove(obstacle.getPosition());
+            }
+        }
+
         return modifiedPositions;
     }
 
diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
index 94616d551898fe09fc7f9c13be73fc98bb157d28..4fdb6d94a2ed06fc1d6f260d47699b3652263460 100644
--- a/src/main/java/model/ModelElement.java
+++ b/src/main/java/model/ModelElement.java
@@ -10,7 +10,8 @@ public enum ModelElement {
   FIREFIGHTER(10),
   FIRE(10),
   CLOUD(10),
-  ROAD(5);
+  ROAD(5),
+  MOUNTAIN(5);
   private final int initialNumber;
 
 
@@ -30,6 +31,7 @@ public enum ModelElement {
       case ROAD -> new Road(position);
       case FIREFIGHTER -> new FireFighter(position);
       case CLOUD -> new Cloud(position);
+      case MOUNTAIN -> new Montain(position);
       default -> throw new IllegalArgumentException("Unknown ModelElement: " + this);
       };
 
diff --git a/src/main/java/model/Montain.java b/src/main/java/model/Montain.java
new file mode 100644
index 0000000000000000000000000000000000000000..af69b265d537bfd2000e601019151ac7a02fc848
--- /dev/null
+++ b/src/main/java/model/Montain.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+public class Montain extends Obstacle{
+    public Montain(Position position) {
+        super(position);
+        element = ModelElement.MOUNTAIN;
+    }
+
+
+}
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index c7fad49c1f47dae3484d671b744f6255b5310757..7cc068347513a014254e29ec27250ffd8a3b72e9 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -3,7 +3,7 @@ package view;
 import javafx.scene.paint.Color;
 
 public enum ViewElement {
-  FIREFIGHTER(Color.BLUE), FIRE(Color.RED),CLOUD(Color.LIGHTSKYBLUE),ROAD(Color.GRAY), EMPTY(Color.WHITE);
+  FIREFIGHTER(Color.BLUE), FIRE(Color.RED),CLOUD(Color.LIGHTSKYBLUE),ROAD(Color.GRAY),MOUNTAIN(Color.BROWN), EMPTY(Color.WHITE);
   final Color color;
   ViewElement(Color color) {
     this.color = color;