implemented reduce/reduceRight for subscriber api, minor functionality changes also