diff --git a/.gradle/8.3/executionHistory/executionHistory.bin b/.gradle/8.3/executionHistory/executionHistory.bin
index f0be06f4ee91663c4c3b649ddba4d681ba59d1e4..80457f905a6499d2727886cab62057b630bff697 100644
Binary files a/.gradle/8.3/executionHistory/executionHistory.bin and b/.gradle/8.3/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.3/executionHistory/executionHistory.lock b/.gradle/8.3/executionHistory/executionHistory.lock
index ee1d8f69a2b7377989e48c0287d9eaafe1b8ce92..05bba24dbaba68c9e3d9a10d4b941022116bfe18 100644
Binary files a/.gradle/8.3/executionHistory/executionHistory.lock and b/.gradle/8.3/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.3/fileHashes/fileHashes.bin b/.gradle/8.3/fileHashes/fileHashes.bin
index fccc3e9e20eb7b4c1fbcdf618e4c3129bc843bf5..214468039660fb60a7c82a018c3ebe94ba327ae9 100644
Binary files a/.gradle/8.3/fileHashes/fileHashes.bin and b/.gradle/8.3/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.3/fileHashes/fileHashes.lock b/.gradle/8.3/fileHashes/fileHashes.lock
index ef7b0efb7cb4ba26d7499287ab1191c06787d13d..f4acf70fe81ac4b1eba7c99095e92b3a5852d84c 100644
Binary files a/.gradle/8.3/fileHashes/fileHashes.lock and b/.gradle/8.3/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.3/fileHashes/resourceHashesCache.bin b/.gradle/8.3/fileHashes/resourceHashesCache.bin
index fd5bdb093963301b631f2df970247bb7ac90ee7e..31a12b1a1b66bf294aded61ae4da4d223ea4a978 100644
Binary files a/.gradle/8.3/fileHashes/resourceHashesCache.bin and b/.gradle/8.3/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 80eb746a0de2c7fde67c6c849b335ba0f9e11c77..af9ea9e331f58afa5d7bd66c32062b936ee06828 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/build/classes/java/main/ByteGrayColor.class b/build/classes/java/main/ByteGrayColor.class
index 03876433d51f11b0dc7274ad41fe00ddd50f0f8f..3484d31b6128adfd39ecdd63c920f493a56c456d 100644
Binary files a/build/classes/java/main/ByteGrayColor.class and b/build/classes/java/main/ByteGrayColor.class differ
diff --git a/build/classes/java/main/GrayColor.class b/build/classes/java/main/GrayColor.class
index f7fb828ba595eec50c7afb4b59a2e7a2cb79a6a7..42796f41d5b818fb8a7996f205a8d1534c323425 100644
Binary files a/build/classes/java/main/GrayColor.class and b/build/classes/java/main/GrayColor.class differ
diff --git a/build/classes/java/main/Invert.class b/build/classes/java/main/Invert.class
new file mode 100644
index 0000000000000000000000000000000000000000..899d7c4d962371ecd8bbdd509054ed4c17dbbd34
Binary files /dev/null and b/build/classes/java/main/Invert.class differ
diff --git a/build/classes/java/main/transform.class b/build/classes/java/main/transform.class
new file mode 100644
index 0000000000000000000000000000000000000000..084ad669d071d5f353333a287a670d4d6aa1d015
Binary files /dev/null and b/build/classes/java/main/transform.class differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId3
similarity index 78%
rename from build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId0
rename to build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId3
index f0c57570df32bb84561dea7513709fa2a995428c..03876433d51f11b0dc7274ad41fe00ddd50f0f8f 100644
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId0 and b/build/tmp/compileJava/compileTransaction/stash-dir/ByteGrayColor.class.uniqueId3 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Display.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/Display.class.uniqueId1
new file mode 100644
index 0000000000000000000000000000000000000000..110a55669800a2300474066767cecfb03d8e9da0
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Display.class.uniqueId1 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/GrayColor.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/GrayColor.class.uniqueId2
new file mode 100644
index 0000000000000000000000000000000000000000..f7fb828ba595eec50c7afb4b59a2e7a2cb79a6a7
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/GrayColor.class.uniqueId2 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/GrayImage.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/GrayImage.class.uniqueId0
new file mode 100644
index 0000000000000000000000000000000000000000..bdd9153d6c1bed3e57124d0740c4daf2614df92c
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/GrayImage.class.uniqueId0 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId1
deleted file mode 100644
index 088b833f614d319e600a5b107d28b6221a265bf1..0000000000000000000000000000000000000000
Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId1 and /dev/null differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId4
new file mode 100644
index 0000000000000000000000000000000000000000..170d54b71bb34141554cb68dba239ff25f684f7d
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/MatrixGrayImage.class.uniqueId4 differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 438c44b13ba0ec220e030bcebe7e61de22236ed0..95a405207a3a879506bf91accd804bb4bcfed1a6 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/Invert.java b/src/main/java/Invert.java
new file mode 100644
index 0000000000000000000000000000000000000000..a694242b27946f0332785106c6a94b7a782f9616
--- /dev/null
+++ b/src/main/java/Invert.java
@@ -0,0 +1,10 @@
+public class Invert implements transform {
+
+    public void applyTo(GrayImage image) {
+        for (int i = 0; i < image.getWidth(); i++) {
+            for (int j = 0; i < image.getHeight(); j++) {
+                image.setPixel(image.getPixelGrayColor(i, j).invert(), i, j);
+            }
+        }
+    }
+}