heterogeneous object model