some docs and tests