added complex_communication