start refactoring renders into visitors