detailed commentary on GroupingSet, and shuffle stuff
around to meet style requirements