templatize lm-functor