refine if