finished oop inheritance