use a series of requirements to do tdd practise