class IObject is an interface