refine framework