properly parse body