add constructors and parser functions for different types of messages