refactored a bunch of templates, rerouting to renderer