The OOP programming model and hierarchies