added update functions for generation and grouping