an education rewrite of kythera using agile concepts and TDD