fix tests
work on tests
work on tests
all tests now pass