OOP_reusable self education