nothing like a bit of red green refactor as you unit test your code into robustness