template function example 1