component refine