smaller refactorings, visualizations not yet working