more bug fixes
2 tests remaining
all tests pass