add message passing