add map and reduce