OOP update