diff --git a/Makefile.proxy b/Makefile.proxy
index 207f56da7a078a7629a8b23d7e3071c2c4de7fa7..de923a4899b4c8b2283a200e61fd981535296f24 100644
--- a/Makefile.proxy
+++ b/Makefile.proxy
@@ -1,8 +1,9 @@
 CC = g++
 CFLAGS += -Wall
-TESTEXE = proxy
-TESTOBJS += $(TESTEXE).o util.o unit_tests.o monad_shared.o
-OPTIMIZE = off
+TESTEXE := proxy
+# This order is necessary for security. Always include student code last!
+TESTOBJS := $(TESTEXE).o util.o unit_tests.o monad_shared.o $(TESTOBJS)
+OPTIMIZE := off
 
 ifeq ($(strip $(OPTIMIZE)),on)
 CFLAGS += -O2 -DOPTIMIZE
diff --git a/TODO.txt b/TODO.txt
index 5a25e4f3e833daf3fe8b69b6fb0bf7b4e49d205f..44d55e15f1a211bdff913608d51f3054c824c847 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -57,6 +57,7 @@ Moderately important
    optimization
    replace ln -s util/* system() calls
    man isatty
+   mp1_newtests and lab02_newtests currently have 2 different ways of compiling 2 programs. this should be unified
 
 Doesn't really matter
 ---------------------