massive refactoring part 1
massive refactoring part 2
fixed refactor issues in base visualizers