refine entity-component