made some progress, more tests are passing.
cleanup still needed