should be done with icon management stuff but other stuffff