fixed the OOP