Revised OOP and methods