implement GraphVisualizer