switched to a more robust implementation of visualization using D3.js