updated model to do serialising/deserializing and use JValue for body