mapreduce outlined