add more tests around the edge cases