add MessageType struct