icon stuff - feels weird, may need tweaking