add Template function