Passes all of assignment 2 tests