first go at json update (plus some tweaks)