visualizer: initial version