terrible attempt at TDD