starting oop approach