exercise 2

improvements and test cases