added a nice body parsing func