refactoring of UI components