receive handler called with array of messages, as opposed to multiple args