impl structure and visualize