implementing grouping components