an educational rewrite of kythera using TDD