diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
index aeb5070f199929a44ecfe96c2a8c90b02a228156..0ed505692c50b7e79820afaa0a25bac1dda7abc3 100644
--- a/app/src/main/java/model/ArrayGrid.java
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -16,7 +16,7 @@ public class ArrayGrid implements Grid{
         else {
             for (int j = 0; j < this.numberOfColumns; j++) {
                 for (int i = 0; i < this.numberOfRows; i++) {
-                    cells[numberOfRows][numberOfColumns] = new SquareCell();
+                    cells[i][j] = new SquareCell();
                 }
             }
         }
@@ -33,5 +33,16 @@ public class ArrayGrid implements Grid{
         return  this.numberOfColumns;
     }
 
+    public void color(ColorGenerator colorGenerator){
+        for (int j = 0; j < this.numberOfColumns; j++) {
+            for (int i = 0; i < this.numberOfRows; i++) {
+               SquareCell cell = new SquareCell();
+               cells[i][j].setColor(colorGenerator.nextColor(cell));
+            }
+        }
+
+
+    }
+
 
 }
diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java
index 02cb8ee2f6dbc07f694cc48ba5ea0a095fabe8cd..18e7f4d6c40b812ac5145220461ce84c242eb7ce 100644
--- a/app/src/main/java/model/GrayGrid.java
+++ b/app/src/main/java/model/GrayGrid.java
@@ -40,4 +40,8 @@ public class GrayGrid implements Grid{
     public int getNumberOfColumns() {
         return numnberOfColumns;
     }
+
+    public void color(ColorGenerator colorGenerator){
+
+    }
 }
diff --git a/app/src/main/java/model/Grid.java b/app/src/main/java/model/Grid.java
index 64341b4de0f789c8307834655f856691218cd242..a387ca332c126280ae8cc9ffca90486a330b9e0f 100644
--- a/app/src/main/java/model/Grid.java
+++ b/app/src/main/java/model/Grid.java
@@ -28,4 +28,5 @@ public interface  Grid  {
      *                       The new color of {@code cell} is obtained by calling the method {@code nextColor}
      */
 
+    void color(ColorGenerator colorGenerator);
 }
diff --git a/app/src/main/java/model/UniformColorGenerator.java b/app/src/main/java/model/UniformColorGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec65896d026abebaf65fbf8a2866ee1ed342bb9b
--- /dev/null
+++ b/app/src/main/java/model/UniformColorGenerator.java
@@ -0,0 +1,14 @@
+package model;
+
+import javafx.scene.paint.Color;
+
+public class UniformColorGenerator implements ColorGenerator{
+
+
+
+
+    public Color nextColor(Cell cell){
+        return cell.getColor();
+    }
+
+}
diff --git a/app/src/test/java/model/ArrayGridTest.java b/app/src/test/java/model/ArrayGridTest.java
index b63b2e3a521518598749ae7d67ae8ac58ec5e812..139943bdfa3f8e133ae0c4cd0dc62048de97922a 100644
--- a/app/src/test/java/model/ArrayGridTest.java
+++ b/app/src/test/java/model/ArrayGridTest.java
@@ -11,8 +11,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 class ArrayGridTest {
 
-    // TODO
-    //  uncomment
 /*
     private  ArrayGrid arrayGridThreeFour;
     private final ArrayGrid arrayGridTwoTwo = new ArrayGrid(2,2);