templates and computes