can now pass a template function directly without needing to override fetch with an identity function