better d3 model