add message passing prototype