updated with test_gen and visualizer