structure refine