abstracted icon change into its own view