turning the gl.group abstraction into a model