adding custom map reduce