heterogeneous container