grouping does not repartition stream, be cautious. grouping followed by aggregation