adding renderer to handle different template types