actually decode the JSON