Compiles, runs, but doesn't pass unit tests
OK, couldn't resist testing it before going to bed. Seems to work.