Modeling heterogeneous objects