diff --git a/src/main/java/controller/GridController.java b/src/main/java/controller/GridController.java
index 00c20dbd3a44f99d1eb605fee34adb06e84cbea5..e444465156c6e709287f2f64d09c9ba807a82b09 100644
--- a/src/main/java/controller/GridController.java
+++ b/src/main/java/controller/GridController.java
@@ -2,9 +2,8 @@ package controller;
 import javafx.fxml.FXML;
 import javafx.scene.paint.Color;
 import model.*;
-import view.GridTileCanvas;
+import view.GridCanvas;
 
-import java.util.List;
 import java.util.Random;
 
 public class GridController {
@@ -14,18 +13,18 @@ public class GridController {
   public static final Color COLOR_LAST_NAME_TWO = Color.YELLOW;
   Random random = new Random();
   @FXML
-  public GridTileCanvas gridTileCanvas;
+  public GridCanvas gridCanvas;
 
   public void initialize() {
     clearGrid();
   }
 
   public void fillGrid(TileGenerator tileGenerator) {
-    gridTileCanvas.fillGrid(tileGenerator);
+    gridCanvas.fillGrid(tileGenerator);
   }
 
   public void drawGrid() {
-    gridTileCanvas.update();
+    gridCanvas.update();
   }
 
   public void clearGrid(){
@@ -46,25 +45,25 @@ public class GridController {
   @FXML
   public void updateFirstNameOneUniformTile(){
     // TODO : uncomment the code to test UniformTileGenerator
-    // updateGrid(new UniformTileGenerator(new InternalSide(COLOR_FIRST_NAME_ONE)));
+    // updateGrid(new UniformTileGenerator(COLOR_FIRST_NAME_ONE));
   }
 
   @FXML
   public void updateFirstNameTwoUniformTile() {
     // TODO : uncomment the code to test UniformTileGenerator
-    // updateGrid(new UniformTileGenerator(new InternalSide(COLOR_FIRST_NAME_TWO)));
+    // updateGrid(new UniformTileGenerator(COLOR_FIRST_NAME_TWO));
   }
 
   @FXML
   public void updateLastNameOneUniformTile(){
     // TODO : uncomment the code to test UniformTileGenerator
-    // updateGrid(new UniformTileGenerator(new InternalSide(COLOR_LAST_NAME_ONE)));
+    // updateGrid(new UniformTileGenerator(COLOR_LAST_NAME_ONE));
   }
 
   @FXML
   public void updateLastNameTwoUniformTile() {
     // TODO : uncomment the code to test UniformTileGenerator
-    // updateGrid(new UniformTileGenerator(new InternalSide(COLOR_LAST_NAME_TWO)));
+    // updateGrid(new UniformTileGenerator(COLOR_LAST_NAME_TWO));
   }
 
   @FXML
diff --git a/src/main/java/model/EmptySide.java b/src/main/java/model/EmptySide.java
index ec97721ca558e7cbcd97be1496fab836a2cdeb2c..41d35825f9424b14c0d8009275c7518ce68b8826 100644
--- a/src/main/java/model/EmptySide.java
+++ b/src/main/java/model/EmptySide.java
@@ -9,16 +9,6 @@ public class EmptySide implements Side {
 
   private EmptySide(){}
 
-  @Override
-  public boolean accept(Side side) {
-    return true;
-  }
-
-  @Override
-  public List<Side> compatibleSides(List<Side> sides) {
-    return sides;
-  }
-
   @Override
   public Color color() {
     return Color.WHITE;
diff --git a/src/main/java/model/EmptySquare.java b/src/main/java/model/EmptySquare.java
index 97b91b422780205f5ade7140353b5a6d0b08c8c2..f1a34a283e34f188fe048f39068e0bf67f91e24b 100644
--- a/src/main/java/model/EmptySquare.java
+++ b/src/main/java/model/EmptySquare.java
@@ -7,11 +7,6 @@ public class EmptySquare implements Square{
 
   private EmptySquare() {}
 
-  @Override
-  public boolean accept(Tile tile) {
-    return true;
-  }
-
   @Override
   public void put(Tile tile) {}
 
@@ -19,22 +14,4 @@ public class EmptySquare implements Square{
   public Tile getTile() {
     return EmptyTile.EMPTY_TILE;
   }
-
-  @Override
-  public List<Tile> compatibleTiles(List<Tile> tiles) {
-    return tiles;
-  }
-
-  @Override
-  public List<Side> compatibleSides(List<Side> sides, CardinalDirection direction) {
-    return sides;
-  }
-
-  @Override
-  public Square getNeighbor(CardinalDirection direction) {
-    return EMPTY_SQUARE;
-  }
-
-  @Override
-  public void setNeighbor(Square neighbor, CardinalDirection direction) {}
 }
diff --git a/src/main/java/model/Side.java b/src/main/java/model/Side.java
index 4c66de4fde84e24f7bc0b6fc968716a294c29fe9..3cd9711590ed25c6ed19e25c6565a019411743ed 100644
--- a/src/main/java/model/Side.java
+++ b/src/main/java/model/Side.java
@@ -5,7 +5,5 @@ import javafx.scene.paint.Color;
 import java.util.List;
 
 public interface Side {
-  List<Side> compatibleSides(List<Side> sides);
   Color color();
-  boolean accept(Side side);
 }
diff --git a/src/main/java/model/Square.java b/src/main/java/model/Square.java
index 03b1798081c86efd239b4476e7b719cbc664a8e1..fff4fb72dd004409bc9a4301d161b7bb5541da6f 100644
--- a/src/main/java/model/Square.java
+++ b/src/main/java/model/Square.java
@@ -3,11 +3,6 @@ package model;
 import java.util.List;
 
 public interface Square {
-  boolean accept(Tile tile);
   void put(Tile tile);
   Tile getTile();
-  List<Tile> compatibleTiles(List<Tile> tiles);
-  List<Side> compatibleSides(List<Side> sides, CardinalDirection direction);
-  Square getNeighbor(CardinalDirection direction);
-  void setNeighbor(Square neighbor, CardinalDirection direction);
 }
diff --git a/src/main/java/util/RandomUtil.java b/src/main/java/util/RandomUtil.java
deleted file mode 100644
index 8ccb36f64f0d627e22f1d8c20798451b465c877d..0000000000000000000000000000000000000000
--- a/src/main/java/util/RandomUtil.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package util;
-
-import java.util.List;
-import java.util.Random;
-
-public final class RandomUtil {
-  private RandomUtil(){}
-
-  public static <T> T randomElement(List<T> elements, Random random){
-    return elements.get(random.nextInt(elements.size()));
-  }
-
-  public static <T> T randomElement(T[] elements, Random random){
-    return elements[random.nextInt(elements.length)];
-  }
-}
diff --git a/src/main/java/view/GridTileCanvas.java b/src/main/java/view/GridCanvas.java
similarity index 85%
rename from src/main/java/view/GridTileCanvas.java
rename to src/main/java/view/GridCanvas.java
index d73f151db61fe993a0eeafdda7fd4dbbde6ff149..33c277a79aa3b34aa6820c761c197ea6e10b0272 100644
--- a/src/main/java/view/GridTileCanvas.java
+++ b/src/main/java/view/GridCanvas.java
@@ -8,7 +8,7 @@ import model.*;
 
 import java.util.List;
 
-public class GridTileCanvas extends Canvas {
+public class GridCanvas extends Canvas {
 
   public final double tileWidth;
   private final double tileHeight;
@@ -17,16 +17,17 @@ public class GridTileCanvas extends Canvas {
   private final Grid grid;
   private final GraphicsContext graphicsContext;
 
-  public GridTileCanvas(@NamedArg("tileWidth") Double tileWidth,
-                        @NamedArg("tileHeight") Double tileHeight,
-                        @NamedArg("numberOfColumns") Integer numberOfColumns,
-                        @NamedArg("numberOfRows") Integer numberOfRows) {
+  public GridCanvas(@NamedArg("tileWidth") Double tileWidth,
+                    @NamedArg("tileHeight") Double tileHeight,
+                    @NamedArg("numberOfColumns") Integer numberOfColumns,
+                    @NamedArg("numberOfRows") Integer numberOfRows) {
     this.tileWidth = tileWidth;
     this.tileHeight = tileHeight;
     this.numberOfColumns = numberOfColumns;
     this.numberOfRows = numberOfRows;
     this.setWidth(tileWidth * numberOfColumns);
     this.setHeight(tileHeight * numberOfRows);
+    // TODO change the EmptyGrid for an ArrayGrid
     grid = new EmptyGrid(numberOfRows, numberOfColumns);
     graphicsContext = getGraphicsContext2D();
   }
diff --git a/src/main/resources/view/GridCanvas.fxml b/src/main/resources/view/GridCanvas.fxml
index 464d03cbad00fe3cb84cd39955a6985f09292b0c..538f58cf07a55c3538c4fbbe187d4afbf26e7712 100644
--- a/src/main/resources/view/GridCanvas.fxml
+++ b/src/main/resources/view/GridCanvas.fxml
@@ -3,7 +3,7 @@
 <?import javafx.scene.layout.*?>
 
 
-<?import view.GridTileCanvas?>
+<?import view.GridCanvas?>
 <?import java.lang.Double?>
 <?import java.lang.Integer?>
 <?import javafx.scene.control.MenuBar?>
@@ -43,10 +43,10 @@
                         </MenuItem>
                 </Menu>
         </MenuBar>
-        <GridTileCanvas AnchorPane.topAnchor="40."
-                        xmlns="http://javafx.com/javafx"
-                        xmlns:fx="http://javafx.com/fxml"
-                        fx:id="gridTileCanvas">
+        <GridCanvas AnchorPane.topAnchor="40."
+                    xmlns="http://javafx.com/javafx"
+                    xmlns:fx="http://javafx.com/fxml"
+                    fx:id="gridCanvas">
                 <tileWidth>
                         <Double fx:value="20"/>
                 </tileWidth>
@@ -59,5 +59,5 @@
                 <numberOfRows>
                         <Integer fx:value="50"/>
                 </numberOfRows>
-        </GridTileCanvas>
+        </GridCanvas>
 </AnchorPane>
\ No newline at end of file
diff --git a/src/test/java/EmptySideTest.java b/src/test/java/EmptySideTest.java
index c44f999261b6bca76303c3f4318f2922a350677d..385985be4c8a2234f8ce57d070260b7d47eb1f3b 100644
--- a/src/test/java/EmptySideTest.java
+++ b/src/test/java/EmptySideTest.java
@@ -8,19 +8,8 @@ import java.util.List;
 import static org.assertj.core.api.Assertions.assertThat;
 
 public class EmptySideTest {
-  @Test
-  void testCompatibleSides(){
-    List<Side> sides = List.of(EmptySide.EMPTY_SIDE);
-    assertThat(EmptySide.EMPTY_SIDE.compatibleSides(sides)).containsExactly(EmptySide.EMPTY_SIDE);
-  }
-
   @Test
   void testColor(){
     assertThat(EmptySide.EMPTY_SIDE.color()).isEqualTo(Color.WHITE);
   }
-  @Test
-  void testAccept(){
-    assertThat(EmptySide.EMPTY_SIDE.accept(EmptySide.EMPTY_SIDE)).isTrue();
-  }
-
 }
diff --git a/src/test/java/EmptySquareTest.java b/src/test/java/EmptySquareTest.java
index cf872f4549e2cc57168bd6bef291ca972dcb2b54..7c84fea81c4b9249a20c81c40b878d5617b9d4b4 100644
--- a/src/test/java/EmptySquareTest.java
+++ b/src/test/java/EmptySquareTest.java
@@ -9,29 +9,10 @@ import java.util.List;
 import static org.assertj.core.api.Assertions.assertThat;
 
 public class EmptySquareTest {
-  @Test
-  void testAccept(){
-    assertThat(EmptySquare.EMPTY_SQUARE.accept(EmptyTile.EMPTY_TILE)).isTrue();
-  }
 
   @Test
   void testGetTile(){
     assertThat(EmptySquare.EMPTY_SQUARE.getTile()).isEqualTo(EmptyTile.EMPTY_TILE);
   }
 
-  @Test
-  void testCompatibleTiles(){
-    assertThat(EmptySquare.EMPTY_SQUARE.compatibleTiles(List.of(EmptyTile.EMPTY_TILE))).containsExactly(EmptyTile.EMPTY_TILE);
-  }
-
-  @Test
-  void testCompatibleSides(){
-    assertThat(EmptySquare.EMPTY_SQUARE.compatibleSides(List.of(EmptySide.EMPTY_SIDE), CardinalDirection.NORTH)).containsExactly(EmptySide.EMPTY_SIDE);
-  }
-
-  @Test
-  void testGetNeighbor(){
-    assertThat(EmptySquare.EMPTY_SQUARE.getNeighbor(CardinalDirection.NORTH)).isEqualTo(EmptySquare.EMPTY_SQUARE);
-  }
-
 }