final version for D3