Refactored to make GSE class