msg parsing