refactors d3, still need to add backpressure
Merge pull request #5 from jonjchew/refactors-d3

refactors d3, still need to add backpressure