added TDD cases