added support for different kinds of visualizations