added a number of unit tests to verify my code