Z function template