Everything is broken, but the night is darkest... etc.
Added validation and a couple more tests. A couple more test cases left to go.