add ::groupBy