completes up to step 5

This is a possible solution where all tests pass