blog reduce()