Added a bunch of new test cases