UI OOP attempt