Support arbitrary icon