make object oriented