Advanced OOP examples