Update to OOP