add d3 update pattern