Added more tests that should've been done via TDD - shame on me.