Added class structure, properties and methods.