Code with TDD added