More OO approach to the program now