works in oop