optimize grouper