Working GSO update
Working GSO refactoring