all tests pass, have not watched solutions yet