Based on http://bl.ocks.org/mbostock/2066415