heterogeneous class