def MapReduce