modify according to the comment
more test cases