Completed assignment

Various changes, now compiles and runs as expected.