refactoried UI constructors