move names around in models: body means html, contents for json
handle null values for various attributes