object oriented approach used