use pointer for value groups