+ clean up data model
+ improved JSON parsing