refactoring textbuttons, handling of background icons