introduce parseMessage