added some OO