Add more tests and make them all pass