refine code
refine