docs and more tests passing