diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
index 0ed505692c50b7e79820afaa0a25bac1dda7abc3..78c88c8f10187c0ccb3b2f309ad66d047c4e5ddc 100644
--- a/app/src/main/java/model/ArrayGrid.java
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -1,5 +1,7 @@
 package model;
 
+import java.util.Iterator;
+
 public class ArrayGrid implements Grid{
 
     private Cell[][] cells;
@@ -34,14 +36,12 @@ public class ArrayGrid implements Grid{
     }
 
     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));
-            }
-        }
-
+        for(Cell cell : this)
+               cell.setColor(colorGenerator.nextColor(new SquareCell()));
+    }
 
+    public Iterator<Cell> iterator(){
+        return  null  ;
     }
 
 
diff --git a/app/src/main/java/model/Grid.java b/app/src/main/java/model/Grid.java
index a387ca332c126280ae8cc9ffca90486a330b9e0f..96e23b9f5770314a74e353fdbff338e457d7e664 100644
--- a/app/src/main/java/model/Grid.java
+++ b/app/src/main/java/model/Grid.java
@@ -1,6 +1,6 @@
 package model;
 
-public interface  Grid  {
+public interface  Grid  extends Iterable<Cell>{
 
     /**
      * Return the cell located at the given coordinates in the grid.