corrected template interface