new core model classes