filter, map, reduce