Modify JsonProvider to be more reusable