Add a lot more test cases