added a number of test cases