generator refinement