requires were swapped. all tests pass.