improve state gathering for groups