minor refactoring of object_type_base