all tests pass and uses Q