refactoring gs framework
added top leve gs back