classic template declaration