added CMSObject and extended classes