Adding more edge cases
minor reorder so as to add more tests
More corner cases, more to come