update docs, and add 'reduce'