structuring the GOL class