added test cases for this