fix up the last tests, this is all mostly working, just need more tests