My Submission for the Michaelmas 2012 OOP Assignment at Oxford