q3 answer seems to work. Not using tdd though :(
need to work out how to make a junit test which passes if an exception is thrown
bored...exception junit bit works, so moving on.
passing some tests