store data as JSON object, small tweaks

move updates into master branch