create message passing primitive