diff --git a/src/main/java/model/AbstractBoard.java b/src/main/java/model/AbstractBoard.java
index ab356377dcdbc7b055381789987078fc45cd3c6c..cabaa1687a26687157e770b1d3214961e4a5c812 100644
--- a/src/main/java/model/AbstractBoard.java
+++ b/src/main/java/model/AbstractBoard.java
@@ -5,14 +5,14 @@ import util.Position;
 import java.util.ArrayList;
 import java.util.List;
 
-public abstract class AbstractBoard<F> implements Board<List<ModelElements>> {
-    public int columnCount;
+public abstract class AbstractBoard implements Board<List<ModelElements>> {
+    private final int columnCount;
 
-    public int rowCount;
+    private final int rowCount;
 
-    public Elements[] elements = new Elements[] {};
+    protected Elements[] elements = new Elements[] {};
 
-    public int step = 0;
+    protected int step = 0;
 
     public AbstractBoard(int columnCount, int rowCount) {
         this.columnCount = columnCount;
diff --git a/src/main/java/model/AbstractElements.java b/src/main/java/model/AbstractElements.java
index ae169134133fd7dcb59653b3801b8bce23d8b925..92a46a5fc82a5730b0e64615bbe26259b861f844 100644
--- a/src/main/java/model/AbstractElements.java
+++ b/src/main/java/model/AbstractElements.java
@@ -7,17 +7,17 @@ import java.util.*;
 import javafx.scene.paint.Color;
 
 public abstract class AbstractElements implements Elements {
-    protected Random randomGenerator = new Random();
-    int rowCount;
-    int columnCount;
-    ModelElements modelElements;
+    protected final Random randomGenerator = new Random();
+    private final int rowCount;
+    private final int columnCount;
+    private final ModelElements modelElements;
 
     protected List<Position> elementsPositions;
 
-    protected AbstractElements(int columnCount, int rowCount, String elementType, Color elementColor) {
+    protected AbstractElements(int columnCount, int rowCount, Color elementColor) {
         this.columnCount = columnCount;
         this.rowCount = rowCount;
-        this.modelElements = new ModelElements(elementType, elementColor);
+        this.modelElements = new ModelElements(elementColor);
     }
 
     public abstract void nextMove();
@@ -28,11 +28,11 @@ public abstract class AbstractElements implements Elements {
             elementsPositions.add(randomPosition(rowCount, columnCount));
     }
 
-    protected Position randomPosition(int rowCount, int columnCount) {
+    public Position randomPosition(int rowCount, int columnCount) {
         return new Position(randomGenerator.nextInt(rowCount), randomGenerator.nextInt(columnCount));
     }
 
-    protected List<Position> neighbors(Position position) {
+    public List<Position> neighbors(Position position) {
         List<Position> list = new ArrayList<>();
         if (position.row() > 0)
             list.add(new Position(position.row() - 1, position.column()));
@@ -45,7 +45,7 @@ public abstract class AbstractElements implements Elements {
         return list;
     }
 
-    protected List<Position> neighborsWithoutSelectedElements(Position position, Elements... elements) {
+    public List<Position> neighborsWithoutSelectedElements(Position position, Elements... elements) {
 
         List<Position> list = new ArrayList<>();
         for (Position neighbor : neighbors(position)) {
@@ -68,10 +68,6 @@ public abstract class AbstractElements implements Elements {
         return elementsPositions;
     }
 
-    public void addElement(Position position) {
-        elementsPositions.add(position);
-    }
-
     public void removeElement(Position position) {
         elementsPositions.remove(position);
     }
diff --git a/src/main/java/model/Elements.java b/src/main/java/model/Elements.java
index f852115fb8b33601cb6eea86231a63ef297b2178..e32e7878a8e9805f78641a615b448ea076701cbf 100644
--- a/src/main/java/model/Elements.java
+++ b/src/main/java/model/Elements.java
@@ -12,7 +12,14 @@ public interface Elements {
 
     List<Position> getElementsPositions();
 
-    void addElement(Position position);
-
     ModelElements getModelElements();
+
+    void removeElement(Position position);
+
+    Position randomPosition(int rowCount, int columnCount);
+
+    List<Position> neighbors(Position position);
+
+    List<Position> neighborsWithoutSelectedElements(Position position, Elements... elements);
+
 }
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 17f1216d2d34ccbb259132da6ca20f77a46da378..630ab9fcc29ec014913a4da11a5deb2d48f75f87 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -5,16 +5,16 @@ import util.Position;
 
 import java.util.*;
 
-public class FirefighterBoard extends AbstractBoard<ModelElements> {
-  private HashMap<String, Integer> elementsCount;
-
-  public Fire fire;
-  public FireFighterPerson fireFighters;
-  public FireTruck fireTrucks;
-  public Cloud cloud;
-  public Mountain mountain;
-  public Road road;
-  public Rockery rockery;
+public class FirefighterBoard extends AbstractBoard {
+  private final HashMap<String, Integer> elementsCount;
+
+  private final Fire fire;
+  private final FireFighterPerson fireFighters;
+  private final FireTruck fireTrucks;
+  private final Cloud cloud;
+  private final Mountain mountain;
+  private final Road road;
+  private final Rockery rockery;
 
   public FirefighterBoard(int columnCount, int rowCount, HashMap<String, Integer> elementsCount) {
     super(columnCount, rowCount);
diff --git a/src/main/java/model/ModelElements.java b/src/main/java/model/ModelElements.java
index f460fa80a7a041ccfbf227315f87fe3bc3827781..f07f7b470276ac086d527a5131ddc42d12ab9e1b 100644
--- a/src/main/java/model/ModelElements.java
+++ b/src/main/java/model/ModelElements.java
@@ -3,27 +3,14 @@ package model;
 import javafx.scene.paint.Color;
 
 public class ModelElements {
-    public String elementType;
-    public Color elementColor;
+    private final Color elementColor;
 
-    public ModelElements(String elementType, Color elementColor) {
-        this.elementType = elementType;
+    public ModelElements(Color elementColor) {
         this.elementColor = elementColor;
     }
 
-    public String getElementType() {
-        return elementType;
-    }
-
     public Color getElementColor() {
         return elementColor;
     }
 
-    public void setElementType(String elementType) {
-        this.elementType = elementType;
-    }
-
-    public void setElementColor(Color elementColor) {
-        this.elementColor = elementColor;
-    }
 }
diff --git a/src/main/java/model/RockScissorPaperBoard.java b/src/main/java/model/RockScissorPaperBoard.java
index f0e8a23fdbfc260266233f26079a24228cc99ea9..da3a9c656cf9859ea70e0c76a78bffba44696cf9 100644
--- a/src/main/java/model/RockScissorPaperBoard.java
+++ b/src/main/java/model/RockScissorPaperBoard.java
@@ -8,11 +8,11 @@ import util.Position;
 import java.util.HashMap;
 import java.util.*;
 
-public class RockScissorPaperBoard extends AbstractBoard<ModelElements> {
-    HashMap<String, Integer> elementsCount;
-    Rock rock;
-    Scissor scissor;
-    Paper paper;
+public class RockScissorPaperBoard extends AbstractBoard {
+    private final HashMap<String, Integer> elementsCount;
+    private final Rock rock;
+    private final Scissor scissor;
+    private final Paper paper;
 
     public RockScissorPaperBoard(int columnCount, int rowCount, HashMap<String, Integer> elementsCount) {
         super(columnCount, rowCount);
diff --git a/src/main/java/model/RockScissorPaperElements/Paper.java b/src/main/java/model/RockScissorPaperElements/Paper.java
index 7ac580814bc2c424059f69b05db19e2ddb3d6c16..5708295033f589ad285d94b7818912911606e95d 100644
--- a/src/main/java/model/RockScissorPaperElements/Paper.java
+++ b/src/main/java/model/RockScissorPaperElements/Paper.java
@@ -9,11 +9,11 @@ import java.util.List;
 import javafx.scene.paint.Color;
 
 public class Paper extends AbstractElements {
-    Scissor scissor;
-    Rock rock;
+    private Scissor scissor;
+    private Rock rock;
 
     public Paper(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "PAPER", Color.BLUE);
+        super(columnCount, rowCount, Color.BLUE);
     }
 
     public void setScissorRock(Scissor scissor, Rock rock) {
diff --git a/src/main/java/model/RockScissorPaperElements/Rock.java b/src/main/java/model/RockScissorPaperElements/Rock.java
index 558b094dfbdfaa0be5dacf747d8ddedc74e6c517..e7bfb4c97af75fe5af199119b8cf7d51df6d7654 100644
--- a/src/main/java/model/RockScissorPaperElements/Rock.java
+++ b/src/main/java/model/RockScissorPaperElements/Rock.java
@@ -10,11 +10,11 @@ import javafx.scene.paint.Color;
 
 public class Rock extends AbstractElements {
 
-    Paper paper;
-    Scissor scissor;
+    private Paper paper;
+    private Scissor scissor;
 
     public Rock(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "ROCK", Color.BLACK);
+        super(columnCount, rowCount, Color.BLACK);
     }
 
     public void setScissorPaper(Scissor scissor, Paper paper) {
diff --git a/src/main/java/model/RockScissorPaperElements/Scissor.java b/src/main/java/model/RockScissorPaperElements/Scissor.java
index 3f904e04ba82a91429f9573ac1880a09414f78fa..7c4755be4fe8e46addfa42662dbffb70a507a1fe 100644
--- a/src/main/java/model/RockScissorPaperElements/Scissor.java
+++ b/src/main/java/model/RockScissorPaperElements/Scissor.java
@@ -10,11 +10,11 @@ import javafx.scene.paint.Color;
 
 public class Scissor extends AbstractElements {
 
-    Paper paper;
-    Rock rock;
+    private Paper paper;
+    private Rock rock;
 
     public Scissor(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "SCISSOR", Color.GRAY);
+        super(columnCount, rowCount, Color.GRAY);
     }
 
     public void setPaperRock(Paper paper, Rock rock) {
diff --git a/src/main/java/model/fireFighterElements/AbstractFireFighters.java b/src/main/java/model/fireFighterElements/AbstractFireFighters.java
index 583776ebe68986f243b8d297c3d92b0cb638fba8..7658ce6d6625addcc4b1367d94ae4863dd95f873 100644
--- a/src/main/java/model/fireFighterElements/AbstractFireFighters.java
+++ b/src/main/java/model/fireFighterElements/AbstractFireFighters.java
@@ -8,12 +8,12 @@ import javafx.scene.paint.Color;
 
 public abstract class AbstractFireFighters extends AbstractElements {
 
-    public Fire fire;
-    public Mountain mountain;
+    protected final Fire fire;
+    private final Mountain mountain;
 
-    public AbstractFireFighters(int columnCount, int rowCount, Fire fire, Mountain mountain, String elementType,
+    protected AbstractFireFighters(int columnCount, int rowCount, Fire fire, Mountain mountain,
             Color elementColor) {
-        super(columnCount, rowCount, elementType, elementColor);
+        super(columnCount, rowCount, elementColor);
         this.fire = fire;
         this.mountain = mountain;
     }
diff --git a/src/main/java/model/fireFighterElements/Cloud.java b/src/main/java/model/fireFighterElements/Cloud.java
index 5d2f79fb4ce804e6528afe81d9813719743d599a..0bdfe41198c380a6ae1c8b946ab0e4b07a7dc7e1 100644
--- a/src/main/java/model/fireFighterElements/Cloud.java
+++ b/src/main/java/model/fireFighterElements/Cloud.java
@@ -9,10 +9,10 @@ import java.util.List;
 import javafx.scene.paint.Color;
 
 public class Cloud extends AbstractElements {
-    Fire fire;
+    private final Fire fire;
 
     public Cloud(int columnCount, int rowCount, Fire fire) {
-        super(columnCount, rowCount, "CLOUD", Color.GRAY);
+        super(columnCount, rowCount, Color.GRAY);
         this.fire = fire;
     }
 
diff --git a/src/main/java/model/fireFighterElements/Fire.java b/src/main/java/model/fireFighterElements/Fire.java
index 85cbe1a00df7897ad1d99d80935d3bc8ef7e1c3e..da4f1988d2bbea332f501cd9ed4f3428ddbdfa9c 100644
--- a/src/main/java/model/fireFighterElements/Fire.java
+++ b/src/main/java/model/fireFighterElements/Fire.java
@@ -8,15 +8,15 @@ import javafx.scene.paint.Color;
 
 public class Fire extends AbstractElements {
 
-    Mountain mountain;
-    Road road;
+    private final Mountain mountain;
+    private final Road road;
 
-    Rockery rockery;
+    private final Rockery rockery;
 
-    HashMap<Position, Integer> rockeryCountStep = new HashMap<>();
+    private final HashMap<Position, Integer> rockeryCountStep = new HashMap<>();
 
     public Fire(int columnCount, int rowCount, Mountain mountain, Road road, Rockery rockery) {
-        super(columnCount, rowCount, "FIRE", Color.RED);
+        super(columnCount, rowCount, Color.RED);
         this.mountain = mountain;
         this.road = road;
         this.rockery = rockery;
@@ -44,7 +44,7 @@ public class Fire extends AbstractElements {
 
     }
 
-    public boolean canMoveOnRockery(Position position) {
+    private boolean canMoveOnRockery(Position position) {
         if (rockeryCountStep.containsKey(position)) {
             if (rockeryCountStep.get(position) == 0) {
                 rockeryCountStep.remove(position);
@@ -70,7 +70,7 @@ public class Fire extends AbstractElements {
 
     }
 
-    public void extinguish(Position position) {
+    protected void extinguish(Position position) {
         elementsPositions.remove(position);
     }
 }
diff --git a/src/main/java/model/fireFighterElements/FireFighterPerson.java b/src/main/java/model/fireFighterElements/FireFighterPerson.java
index 097c36a891b7cf4949af7eab6c24716a1efc1cff..90d75ae0278769215fc152b05ef388679391c6a1 100644
--- a/src/main/java/model/fireFighterElements/FireFighterPerson.java
+++ b/src/main/java/model/fireFighterElements/FireFighterPerson.java
@@ -9,7 +9,7 @@ import javafx.scene.paint.Color;
 
 public class FireFighterPerson extends AbstractFireFighters {
     public FireFighterPerson(int columnCount, int rowCount, Fire fire, Mountain mountain) {
-        super(columnCount, rowCount, fire, mountain, "FIREFIGHTER", Color.BLUE);
+        super(columnCount, rowCount, fire, mountain, Color.BLUE);
     }
 
     @Override
diff --git a/src/main/java/model/fireFighterElements/FireTruck.java b/src/main/java/model/fireFighterElements/FireTruck.java
index cdea056a3676c3fc54f8bd8e8c4ec0409b1a0934..7dc7d1f407f6cfc92a0337ebf7a8e8ce7101f90f 100644
--- a/src/main/java/model/fireFighterElements/FireTruck.java
+++ b/src/main/java/model/fireFighterElements/FireTruck.java
@@ -9,7 +9,7 @@ import javafx.scene.paint.Color;
 
 public class FireTruck extends AbstractFireFighters {
     public FireTruck(int columnCount, int rowCount, Fire fire, Mountain mountain) {
-        super(columnCount, rowCount, fire, mountain, "FIRETRUCK", Color.CYAN);
+        super(columnCount, rowCount, fire, mountain, Color.CYAN);
 
     }
 
diff --git a/src/main/java/model/fireFighterElements/Mountain.java b/src/main/java/model/fireFighterElements/Mountain.java
index 212ab555d3faf62d0580569ca57215c276d49b27..29db05a8b5d05ead44113f24c675bfa809e07265 100644
--- a/src/main/java/model/fireFighterElements/Mountain.java
+++ b/src/main/java/model/fireFighterElements/Mountain.java
@@ -6,7 +6,7 @@ import model.AbstractElements;
 public class Mountain extends AbstractElements {
 
     public Mountain(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "MOUNTAIN", Color.BROWN);
+        super(columnCount, rowCount, Color.BROWN);
     }
 
     @Override
diff --git a/src/main/java/model/fireFighterElements/Road.java b/src/main/java/model/fireFighterElements/Road.java
index 5c00cea75bcaf44cc2e8c51ab7165729f643a7e3..03e4c6f1677ab084c96fa98eeccf2fc3c3cafc11 100644
--- a/src/main/java/model/fireFighterElements/Road.java
+++ b/src/main/java/model/fireFighterElements/Road.java
@@ -6,7 +6,7 @@ import model.AbstractElements;
 public class Road extends AbstractElements {
 
     public Road(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "ROAD", Color.BLACK);
+        super(columnCount, rowCount, Color.BLACK);
     }
 
     @Override
diff --git a/src/main/java/model/fireFighterElements/Rockery.java b/src/main/java/model/fireFighterElements/Rockery.java
index 30893fc78ac37eace4159f237618449871ecd408..9ea221ed365667f0018d453e233b8f0d9483379a 100644
--- a/src/main/java/model/fireFighterElements/Rockery.java
+++ b/src/main/java/model/fireFighterElements/Rockery.java
@@ -5,7 +5,7 @@ import model.AbstractElements;
 
 public class Rockery extends AbstractElements {
     public Rockery(int columnCount, int rowCount) {
-        super(columnCount, rowCount, "ROCKERY", Color.GREEN);
+        super(columnCount, rowCount, Color.GREEN);
     }
 
     @Override
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/GameGrid.java
similarity index 97%
rename from src/main/java/view/FirefighterGrid.java
rename to src/main/java/view/GameGrid.java
index 48ee1983789028fb4f110776dc5c0e1ccdbfff4d..c10e9de885f051f7f39c378e14a24aa96a2aec78 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/GameGrid.java
@@ -7,7 +7,7 @@ import util.Position;
 
 import java.util.List;
 
-public class FirefighterGrid extends Canvas implements Grid<Color> {
+public class GameGrid extends Canvas implements Grid<Color> {
 
     private void paintElementAtPosition(Color element, Position position) {
         paintSquare(position.row(), position.column(), element);
diff --git a/src/main/resources/view/view.fxml b/src/main/resources/view/view.fxml
index 7d08d8b3ec24735becfc339264e9b100d2eff9a0..71c99cb8bc181ff954b1c114781fbcbb7943bdb8 100644
--- a/src/main/resources/view/view.fxml
+++ b/src/main/resources/view/view.fxml
@@ -3,12 +3,11 @@
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.VBox?>
-<?import view.FirefighterGrid?>
+<?import view.GameGrid?>
 
 <?import javafx.scene.control.ToggleButton?>
 <?import javafx.scene.control.Separator?>
 <?import javafx.scene.control.Label?>
-<?import javafx.scene.control.TextField?>
 
 <HBox styleClass="background" stylesheets="@DarkTheme.css"
         xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
@@ -51,8 +50,8 @@
                                 prefHeight="24.0" prefWidth="200.0" />
         </VBox>
 
-        <FirefighterGrid fx:id="grid" width="1000.0" height="1000.0"
-                xmlns="http://javafx.com/javafx"
-                xmlns:fx="http://javafx.com/fxml">
-        </FirefighterGrid>
+        <GameGrid fx:id="grid" width="1000.0" height="1000.0"
+                  xmlns="http://javafx.com/javafx"
+                  xmlns:fx="http://javafx.com/fxml">
+        </GameGrid>
 </HBox>
\ No newline at end of file