Template logic