allowing components to alternate json or json from a url