refine hide method