refactored ui