more docs, tests