rebased to fix the icon disappearing issues