converted to oop approach