user ui refactor