add template function demo