Large refactoring, implemented GGridLayout