interface template