all basic functionality present - time to d3 this s*&t