use component-grid