passes 1/2 tests
passes both tests