immutable template