using another template function