pure oop and other OO featchers