making OOP OOPier