OOP concept implementation