diff --git a/TEST-swen90006.machine.BoundaryTests.txt b/TEST-swen90006.machine.BoundaryTests.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e1f85f96ac02c33ff37256b894a8fdd1139fbf8
--- /dev/null
+++ b/TEST-swen90006.machine.BoundaryTests.txt
@@ -0,0 +1,16 @@
+Testsuite: swen90006.machine.BoundaryTests
+Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec
+
+Testcase: anotherTest took 0.002 sec
+Testcase: aFileOpenTest took 0.015 sec
+Testcase: aFailedTest took 0.002 sec
+	FAILED
+Some failure message expected:<2> but was:<3>
+junit.framework.AssertionFailedError: Some failure message expected:<2> but was:<3>
+	at swen90006.machine.BoundaryTests.aFailedTest(Unknown Source)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+
+Testcase: aTest took 0 sec
+Testcase: anExceptionTest took 0.001 sec
diff --git a/TEST-swen90006.machine.PartitioningTests.txt b/TEST-swen90006.machine.PartitioningTests.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f905918b96e507157c7e933d77a7dcd8c8d95bc
--- /dev/null
+++ b/TEST-swen90006.machine.PartitioningTests.txt
@@ -0,0 +1,7 @@
+Testsuite: swen90006.machine.PartitioningTests
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec
+
+Testcase: anotherTest took 0.001 sec
+Testcase: aFileOpenTest took 0.015 sec
+Testcase: aTest took 0 sec
+Testcase: anExceptionTest took 0 sec
diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class
index af52566636122d3ab4edeca3dfd4fb3e867aa1db..f18ec47fe14f0f146b38fe5def6490170faa1be1 100644
Binary files a/classes/swen90006/machine/PartitioningTests.class and b/classes/swen90006/machine/PartitioningTests.class differ
diff --git a/examples/array.s b/examples/array.s
index 54b5878259fee8b451aebed898ebd70cda25caa0..65726f4bab1eaba5781b1bea5e51693f55e56e47 100644
--- a/examples/array.s
+++ b/examples/array.s
@@ -12,7 +12,7 @@
         ;;   R1 holds 'i', which is a counter from 0 .. N-1
         ;;   R0 holds 'p', the address of the array's ith element
         MOV R1 0                ; i = 0;
-        MOV R0 100    
+        MOV R0 100
 
         SUB R4 R3 R1            ; while(i != N)
         JZ  R4 5                ; {
@@ -27,12 +27,12 @@
         ;;   R0 holds 'p', the address of the array's ith element
         ;;   R5 holds 'sum', which always holds the sum of the array's first i elements
         MOV R1 0                ; i = 0;
-        MOV R0 100    
+        MOV R0 100
         MOV R5 0                ; sum = 0;
 
         SUB R4 R3 R1            ; while(i != N)
         JZ  R4 6                ; {
-        LDR R4 R0 0             ;   
+        LDR R4 R0 0             ;
         ADD R5 R5 R4            ;   sum = sum + *p;
         ADD R0 R0 R2            ;   p = p + 1;
         ADD R1 R1 R2            ;   i = i + 1;
diff --git a/key b/key
new file mode 100644
index 0000000000000000000000000000000000000000..cc7c1a0fb48f93ab01b4fea660c5dfcd6ea4fa14
--- /dev/null
+++ b/key
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/key.pub b/key.pub
new file mode 100644
index 0000000000000000000000000000000000000000..4d7893c70b509b21bcb08d8885e835c71f7ccd3c
--- /dev/null
+++ b/key.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAzjrOqQJhgz2sYMgqhoMzLUkNZnb09LSfRFtSoepSuwLz0DL1R1+kFYy/N0jCzgzQ9CCie/pFPAXadUmGw/+NW3oCuXZU229tBe/KuDFNGn4L7zs04pQ4bXuwAeLTdRC2GiC+x7tELAFIh6Tt0FWshNzFvvwU0wqSYsN4Kqw7XnmWcvqdlyZgHnBzEX7m+BiSZDgo4PJeam8gAZsvA/wLSfyhKuJBaS0SLUyamhPaecjN+f4UUhs2LgAHv6juEz+2HvR+s17u6KN1VpPzgaBXDGJq6OSm59qdHJ1fWqsjAsNu/AkC7vLALKiXRhlJyCouSWrAM20m7YXvuc6/aKxQJ/vPcZfPwQnRkMVx7wQ/lrvlCZzoCFxVv/WjWduR/H45jrwl7WuDMwi+rHJhGQzrP7PSH84qgWKgekVeLnnDC5ZOlH+a4ft/gLVNZUZ0gZ6/Lu7DfGc+xZ711jrYvbAZdMsfkODsqyhJ1Y2qDhFLVbuEjFIU0rBtI2HhUHHFnkNP2YPr6QNdQAwaIAXVsZ1R3sKeOO6pVDXczdl3bHAAprxkI7nMXSgN5TciICvwk4oKWlP8Gud/nfHhIrQ+RJ8qwKL3Rlzol/aq6nWILSZzNVrquzE2Iup9Jm9cNMAXt36l9eCfsJHsNulRJJbzv+LxYhuXVtEXKfRLmvYDGxMlww== cvidler@student.unimelb.edu.au
diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java
index 5494b44f4615351a610fc7b0b649d30b4b2d0a40..8ecb32f94ed67a7a352cf8c8cd75cee26b7f23c6 100644
--- a/test/swen90006/machine/PartitioningTests.java
+++ b/test/swen90006/machine/PartitioningTests.java
@@ -29,8 +29,8 @@ public class PartitioningTests
   {
     //the assertEquals method used to check whether two values are
     //equal, using the equals method
-    final int expected = 2;
-    final int actual = 1 + 1;
+    final int expected = 1;
+    final int actual = 2 / 2;
     assertEquals(expected, actual);
   }
 
@@ -51,9 +51,9 @@ public class PartitioningTests
     Machine m = new Machine();
     assertEquals(m.execute(lines), 45);
   }
-  
+
   //To test an exception, specify the expected exception after the @Test
-  @Test(expected = java.io.IOException.class) 
+  @Test(expected = java.io.IOException.class)
     public void anExceptionTest()
     throws Throwable
   {
@@ -63,13 +63,13 @@ public class PartitioningTests
   //This test should fail.
   //To provide additional feedback when a test fails, an error message
   //can be included
-  @Test public void aFailedTest()
-  {
-    //include a message for better feedback
-    final int expected = 2;
-    final int actual = 1 + 2;
-    assertEquals("Some failure message", expected, actual);
-  }
+  // @Test public void aFailedTest()
+  // {
+  //   //include a message for better feedback
+  //   final int expected = 2;
+  //   final int actual = 1 + 2;
+  //   assertEquals("Some failure message", expected, actual);
+  // }
 
   //Read in a file containing a program and convert into a list of
   //string instructions