extend template support