refactor GridBuilderExtension