update docs, allow custom algo