maps, group-by and reduce-by