d3 implementation start