some complement about the OOP usage