Implement message parser

pull!