Oop

Improved OOP