map, reduce, reduce-init, filter