need to add more test cases