Update to more OOP format