fix  + add more test case