Checkpoint - cleaning up test cases, but not optimizing
All tests now pass