modified class names to reflect sub-objects and extention