fixed,add more test cases