diff --git a/app/src/main/java/model/ColoredCellIterator.java b/app/src/main/java/model/ColoredCellIterator.java
index 12679d2a3cc00b4e89964dcfaf5b00250112ba43..558bb64ac7bf37c014fb85f7ca49b4d360fa5c0d 100644
--- a/app/src/main/java/model/ColoredCellIterator.java
+++ b/app/src/main/java/model/ColoredCellIterator.java
@@ -1,6 +1,7 @@
 package model;
 
 import javafx.scene.paint.Color;
+import util.SetUtil;
 
 import java.awt.*;
 import java.util.HashSet;
@@ -26,11 +27,18 @@ public class ColoredCellIterator implements Iterator<Cell> {
     @Override
     public boolean hasNext() {
         boolean expression=!(this.pendingCells.isEmpty());
-        return expression;    
+        return expression;
     }
 
     @Override
     public Cell next() {
-        return null;
-    }
+        Cell Cell = SetUtil.anyElement(this.pendingCells);
+        this.pendingCells.remove(Cell);
+        this.visitedCells.add(Cell);
+        for (Cell neighbour : Cell.getNeighbours()){
+            if (Cell.getColor() == neighbour.getColor() && !(this.visitedCells.contains(neighbour))){
+                this.pendingCells.add(neighbour);
+            }
+        }
+        return Cell;    }
 }
diff --git a/app/src/main/java/model/GrayCell.java b/app/src/main/java/model/GrayCell.java
index 8007887ea0a9ca53b4ec9b5bf8d7a894c9711ac3..80d9a702c89d0db406584483bd64a296b053499f 100644
--- a/app/src/main/java/model/GrayCell.java
+++ b/app/src/main/java/model/GrayCell.java
@@ -3,6 +3,7 @@ package model;
 import javafx.beans.property.Property;
 import javafx.scene.paint.Color;
 
+import java.util.Iterator;
 import java.util.List;
 
 public class GrayCell extends AbstractCell{
@@ -27,7 +28,11 @@ public class GrayCell extends AbstractCell{
      */
     @Override
     public void setNeighbours(List<Cell> cells) {
+    }
 
+    @Override
+    public Iterator<Cell> iterator() {
+        return null;
     }
 
     @Override
diff --git a/app/src/test/java/model/ColoredCellIteratorTest.java b/app/src/test/java/model/ColoredCellIteratorTest.java
index 4e55550e559f83bab32c3bb3505e2a441feadfac..67a4966d00b7865e097d57c4b84bec1043438ea3 100644
--- a/app/src/test/java/model/ColoredCellIteratorTest.java
+++ b/app/src/test/java/model/ColoredCellIteratorTest.java
@@ -11,8 +11,6 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 class ColoredCellIteratorTest {
 
-    // TODO
-    //  uncomment
     /*
      * +---+---+---+
      * | R | B | R |
@@ -23,7 +21,15 @@ class ColoredCellIteratorTest {
      * +---+---+---+
      */
 
-  /*  private static ArrayGrid gridThreeThree = new ArrayGrid(3,3);
+   private static ArrayGrid gridThreeThree;
+
+    static {
+        try {
+            gridThreeThree = new ArrayGrid(3,3);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
     @BeforeAll
     private static void initializeColorsGrid(){
@@ -56,5 +62,5 @@ class ColoredCellIteratorTest {
         assertThat(fromIteratorCells).hasSameElementsAs(expectedBlackCells).hasSameSizeAs(expectedBlackCells);
 
     }
-   */
+
 }
\ No newline at end of file