message processing