implement the JSON model