template initialisation