updates to the message model and methods