working towards removing d3.select's