+docs and tests