now only emits one result if reduce=false