add the message handling framework