diff --git a/src/main/java/model/Cell.java b/src/main/java/model/Cell.java
deleted file mode 100644
index 93a7faafb486bd5d5aaa3f82f36fa25d5272b611..0000000000000000000000000000000000000000
--- a/src/main/java/model/Cell.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package model;
-
-import util.Position;
-
-import java.util.List;
-
-public class Cell implements State, Board{
-    Position position;
-    public Cell(Position position){
-        this.position = position;
-    }
-    @Override
-    public boolean isOnFire(Position position) {
-        return false;
-    }
-
-    @Override
-    public Object getState(Position position) {
-        return null;
-    }
-
-    @Override
-    public void setState(Object state, Position position) {
-
-    }
-
-    @Override
-    public int rowCount() {
-        return 0;
-    }
-
-    @Override
-    public int columnCount() {
-        return 0;
-    }
-
-    @Override
-    public List<Position> updateToNextGeneration() {
-        return null;
-    }
-
-    @Override
-    public void reset() {
-
-    }
-
-    @Override
-    public int stepNumber() {
-        return 0;
-    }
-}
diff --git a/src/main/java/model/Cloud.java b/src/main/java/model/Cloud.java
index ffc1cff34eca21e27a10946a381bc6c1d4b10a13..d269ca2f5fb2dfbd1febe5e7962588bb68cfac19 100644
--- a/src/main/java/model/Cloud.java
+++ b/src/main/java/model/Cloud.java
@@ -2,11 +2,17 @@ package model;
 
 import util.Position;
 
+import java.util.List;
 import java.util.Random;
 
-public class Cloud {
+public class Cloud implements Extinguish{
     private final Random randomGenerator = new Random();
     private Position randomPosition() {
         return new Position(randomGenerator.nextInt(rowCount), randomGenerator.nextInt(columnCount));
     }
+
+    @Override
+    public List<Position> updatePosition() {
+        return null;
+    }
 }
diff --git a/src/main/java/model/Extinguish.java b/src/main/java/model/Extinguish.java
index f6142e1a50ccee54a421b8e9eef56868a5e079e9..8ff140296b8554a200add45aa18f3f04e0cf251f 100644
--- a/src/main/java/model/Extinguish.java
+++ b/src/main/java/model/Extinguish.java
@@ -1,5 +1,13 @@
 package model;
 
+import util.Position;
+
+import java.util.List;
+
 public interface Extinguish {
+    List<Position> updatePosition();
+    List<Position> neighbors();
+    List<Position> getPosition();
+    List<Position> setPosition();
 
 }
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 530cd6714de586af99b69dd99e9a0c9c499f398a..ff00762354d3721058ecbb67c76ae8143912fc5c 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -5,7 +5,7 @@ import util.Position;
 import java.util.List;
 import java.util.Set;
 
-public class FireFighter {
+public class FireFighter implements Extinguish{
     private final int initialFirefighterCount;
     private List<Position> firefighterPositions;
     private Set<Position> firePositions;
@@ -13,4 +13,8 @@ public class FireFighter {
         return new Position(randomGenerator.nextInt(rowCount), randomGenerator.nextInt(columnCount));
     }
 
+    @Override
+    public List<Position> updatePosition() {
+        return null;
+    }
 }
diff --git a/src/main/java/model/Grid.java b/src/main/java/model/Grid.java
new file mode 100644
index 0000000000000000000000000000000000000000..e945595f244825a046d170967e18ebbb215b14d3
--- /dev/null
+++ b/src/main/java/model/Grid.java
@@ -0,0 +1,17 @@
+package model;
+
+import java.util.Random;
+
+public class Grid {
+    private final int columnCount;
+    private final int rowCount;
+    public Grid(int row,int column){
+        this.columnCount = column;
+        this.rowCount = row;
+    }
+    private final Random randomGenerator = new Random();
+    //ham de lay trang thai cua tung vi tri ban dau
+    //ham update vi tri sau khi da dap lua
+    //ham dap lua:xet vi tri lua;vi tri dia ly, quyet dinh phuong thuc dap lua
+
+}
diff --git a/src/main/java/model/Mobile.java b/src/main/java/model/Mobile.java
new file mode 100644
index 0000000000000000000000000000000000000000..f08435ecb5a5b11a6dd8e2aa5f29ec0974abe8b8
--- /dev/null
+++ b/src/main/java/model/Mobile.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+import java.util.List;
+
+public class Mobile implements Extinguish{
+    @Override
+    public List<Position> updatePosition() {
+        return null;
+    }
+}
diff --git a/src/main/java/model/Moutain.java b/src/main/java/model/Moutain.java
new file mode 100644
index 0000000000000000000000000000000000000000..3fbb0f168fd6314d615fc04bd5f106fb35c5bf20
--- /dev/null
+++ b/src/main/java/model/Moutain.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+import java.util.List;
+
+public class Moutain implements StablePosition{
+    @Override
+    public List<Position> stablePosition() {
+        return null;
+    }
+}
diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java
new file mode 100644
index 0000000000000000000000000000000000000000..9a28c25f72dfc67a1e02eddca83f1eba151e4b34
--- /dev/null
+++ b/src/main/java/model/Road.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+import java.util.List;
+
+public class Road implements StablePosition{
+    @Override
+    public List<Position> stablePosition() {
+        return null;
+    }
+}
diff --git a/src/main/java/model/Rocks.java b/src/main/java/model/Rocks.java
new file mode 100644
index 0000000000000000000000000000000000000000..875427169b18a7dc011c690854204a7ccedc6333
--- /dev/null
+++ b/src/main/java/model/Rocks.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+import java.util.List;
+
+public class Rocks implements StablePosition{
+    @Override
+    public List<Position> stablePosition() {
+        return null;
+    }
+}
diff --git a/src/main/java/model/StablePosition.java b/src/main/java/model/StablePosition.java
new file mode 100644
index 0000000000000000000000000000000000000000..389a6183494998cd256ba94ee965f7002d283b87
--- /dev/null
+++ b/src/main/java/model/StablePosition.java
@@ -0,0 +1,7 @@
+package model;
+import util.Position;
+
+import java.util.*;
+public interface StablePosition {
+    List<Position> stablePosition();
+}
diff --git a/src/main/java/model/Terrain.java b/src/main/java/model/Terrain.java
new file mode 100644
index 0000000000000000000000000000000000000000..f97c754117eb438aa59598f746c77cad0aef1554
--- /dev/null
+++ b/src/main/java/model/Terrain.java
@@ -0,0 +1,12 @@
+package model;
+
+import util.Position;
+
+import java.util.List;
+
+public class Terrain implements StablePosition{
+    @Override
+    public List<Position> stablePosition() {
+        return null;
+    }
+}