Yay! I'll tidy it up and correct the tests.