added MessageType enum