Repaired OOP principles :)