refine  icon function