better test for different cases