Code Complete

No commits along the way.. this code is rather ugly because I needed to
finish the assignment in a little under 2 hours.