test template function