Complete assignment, ready for debug. NOT WORKING