added Reduce