heterogeneous environment