add better grouping