passes all tests from step 1