pull master changes

Make JsonProvider more re-usable