add reduceRight