fix compose/decompose message order