diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Complex.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Complex.java
new file mode 100644
index 0000000000000000000000000000000000000000..6a5ebe91e2c8ee76fcdc369a93134f5a546e595a
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Complex.java
@@ -0,0 +1,15 @@
+package edu.ntnu.idatt2003.mappevurderingprog2;
+
+public class Complex extends Vector2D{
+
+
+  public Complex(double realPart, double imaginaryPart) {
+    super(realPart, imaginaryPart);
+  }
+
+  public Complex sqrt() {
+    double r = Math.sqrt(Math.pow(getX0(), 2) + Math.pow(getX1(), 2));
+    double theta = Math.atan2(getX1(), getX0());
+    return new Complex(Math.sqrt(r) * Math.cos(theta / 2), Math.sqrt(r) * Math.sin(theta / 2));
+  }
+}
\ No newline at end of file
diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Matrix2x2.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Matrix2x2.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb13f04b240d50c7196f039c03e31cd54cbbdd97
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Matrix2x2.java
@@ -0,0 +1,19 @@
+package edu.ntnu.idatt2003.mappevurderingprog2;
+
+public class Matrix2x2 {
+  private double a00;
+  private double a01;
+  private double a10;
+  private double a11;
+
+  public Matrix2x2(double a00, double a01, double a10, double a11) {
+    this.a00 = a00;
+    this.a01 = a01;
+    this.a10 = a10;
+    this.a11 = a11;
+  }
+
+  public Vector2D multiply(Vector2D vector) {
+    return new Vector2D(a00 * vector.getX0() + a01 * vector.getX1(), a10 * vector.getX0() + a11 * vector.getX1());
+  }
+}
\ No newline at end of file
diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Vector2D.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Vector2D.java
new file mode 100644
index 0000000000000000000000000000000000000000..6bbe4295665dd85ccb700c2835cbff20a9616ca4
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/Vector2D.java
@@ -0,0 +1,29 @@
+package edu.ntnu.idatt2003.mappevurderingprog2;
+
+import java.util.Vector;
+
+public class Vector2D {
+  private double x0;
+  private double x1;
+
+  public Vector2D(double x0, double x1) {
+    this.x0 = x0;
+    this.x1 = x1;
+  }
+
+  public double getX0() {
+    return x0;
+  }
+
+  public double getX1() {
+    return x1;
+  }
+
+  public Vector2D add(Vector2D other) {
+    return new Vector2D(x0 + other.x0, x1 + other.x1);
+  }
+
+  public Vector2D subtract(Vector2D other) {
+    return new Vector2D(x0 - other.x0, x1 - other.x1);
+  }
+}
\ No newline at end of file