Code with TDD added Version2