add visualizer component