add MapReduce