change to use d3.json()