protected constructors for message and no message.