refactor GridContainer