refactor visualizer and protocol