working on message processing