refine forward