lots of test cases added