refactoring spagetti, adding iconography