diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin
index 9b3bc4078d0c53cf8591fd95262199210d726f98..a5c9e9cdea3798469a1177a4bba0911f48354d83 100644
Binary files a/.gradle/8.8/executionHistory/executionHistory.bin and b/.gradle/8.8/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock
index 1e10035efce32487e7d2224de91f27baf269a935..f8138d670b0911747c80a8831e8d96aeb8709c20 100644
Binary files a/.gradle/8.8/executionHistory/executionHistory.lock and b/.gradle/8.8/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin
index 5e0a42aad52bf37257340b61cc8ca94ff5fd1d4e..7702a663a9d6c9513b7af89fc14367f58ad72d8d 100644
Binary files a/.gradle/8.8/fileHashes/fileHashes.bin and b/.gradle/8.8/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock
index 29a975946f2767eea26c71f25f4f9c9bdb3534af..42ee81c069a4416a3173c85f5e7204b1af4f6016 100644
Binary files a/.gradle/8.8/fileHashes/fileHashes.lock and b/.gradle/8.8/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin
index 0ee0cb6068e0293342427cf10a3592f9077117f0..11ff398c19af08399b9a4ba87a776efd04b4b1d4 100644
Binary files a/.gradle/8.8/fileHashes/resourceHashesCache.bin and b/.gradle/8.8/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 2cafc576bb23ac2fa2f6ca5f5d8ac990ce3dff22..f3d5c8e530b4598ce790c3d7e58feb54aad95b37 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeAutomaton.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeAutomaton.class.uniqueId0
deleted file mode 100644
index b111f8eac55b36b4303368595be3529e4f1b14d3..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeAutomaton.class.uniqueId0 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState$StateType.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState$StateType.class.uniqueId1
deleted file mode 100644
index 53652e4207c5208cd52e04aca03ddfebf04234b1..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState$StateType.class.uniqueId1 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState.class.uniqueId4
deleted file mode 100644
index fd91ad4a3b76f11a047659c5dbd5191f88d6e9fc..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BiColorGameOfLifeState.class.uniqueId4 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainAutomaton.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainAutomaton.class.uniqueId3
deleted file mode 100644
index 0e49dc50401e419d81965006d5ae5af25e2c03ba..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainAutomaton.class.uniqueId3 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState$StateType.class.uniqueId5 b/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState$StateType.class.uniqueId5
deleted file mode 100644
index b4059f309db9a356bc2dc1a20bf3b4d9b0945a04..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState$StateType.class.uniqueId5 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState.class.uniqueId2
deleted file mode 100644
index 358bff43508be0bc50e358ccca2074bd70ec97ac..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/BrianBrainState.class.uniqueId2 and /dev/null differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 835183c5140de13671a735e0b641eaa2cb4b83c4..748c4c7738db23e8b2a1034a2add2df53c661aa1 100644
Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/src/main/java/matrix/InitMatrix.java b/src/main/java/matrix/InitMatrix.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd7c0136dc2e7d31eb3942bb1ef190872c40d8d9
--- /dev/null
+++ b/src/main/java/matrix/InitMatrix.java
@@ -0,0 +1,44 @@
+package matrix;
+
+public class InitMatrix implements MatrixInitializer<Integer> {
+    private final Matrix<Integer> originalMatrix;
+
+    public InitMatrix(Matrix<Integer> originalMatrix) {
+        this.originalMatrix = originalMatrix;
+    }
+
+    @Override
+    public Integer initialValueAt(Coordinate coordinate) {
+        int x = coordinate.x();
+        int y = coordinate.y();
+        int value = originalMatrix.get(x, y);
+
+        if (value > 4) {
+            value -=4;
+        }
+
+        if (originalMatrix.get(modulo(x+1,originalMatrix.width()), y)>4) {
+            value += 1;
+        }
+
+        if (originalMatrix.get(modulo(x-1,originalMatrix.width()), y)>4) {
+            value += 1;
+        }
+
+        if (originalMatrix.get(x, modulo(y+1,originalMatrix.width()))>4) {
+            value += 1;
+        }
+
+        if (originalMatrix.get(x, modulo(y-1,originalMatrix.width()))>4) {
+            value += 1;
+        }
+
+        return value;
+    }
+
+    public static int modulo(int a, int b) {
+        int quotient = a / b;
+        return a - b * quotient;
+    }
+
+}
\ No newline at end of file