parse body if necessary