add zoom controls
reimplementaion of the graph is mostly working