OOP notes