template extension