lots of cleanup, documentation, and json changesets improvements