extended message passing functionality