Oops, my tests didn't run. Fixed the tests, made most pass.