Seperate message data types and parser