add template function