more updates to OOP