Heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous heterogenous heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous systems heterogeneous heterogeneous heterogeneous heterogeneous heterogeneous networks heterogeneous heterogeneous heterogeneous heterogeneous systems heterogeneous heterogeneous