template controller