Working GSO code restructure