diff --git a/src/main/java/matrix/SubMatrixInitializer.java b/src/main/java/matrix/SubMatrixInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..a6ea3c36f68329a61ec02bdca59b868c393b42fd
--- /dev/null
+++ b/src/main/java/matrix/SubMatrixInitializer.java
@@ -0,0 +1,17 @@
+package matrix;
+
+public class SubMatrixInitializer <T> implements MatrixInitializer<T> {
+    // Matrix, corner
+    private final Matrix<T> matrix;
+    private final Coordinate corner;
+
+    public SubMatrixInitializer(Matrix<T> matrix, Coordinate corner) {
+        this.matrix = matrix;
+        this.corner = corner;
+    }
+    @Override
+    public T initialValueAt(Coordinate coordinate) {
+        return matrix.get(coordinate.x()+corner.x(), coordinate.y()+corner.y());
+    }
+}
+