updated best practices (d3)