documented visualizer.py