decode messages properly and only look at parts of the payload with usable content-types