Refactored into ui-view structure