Added object oriented class structure