refactor msg Marshaller