added single map reduce