moved visualization to separate class