template rules without externs