protocol hold *Message