added ability to send messages with data