Communicate, cooperate and compromise