with visualization and initialization procedures and functios