even more renderer refactoring