fixes, all tests pass