add functionality to the template