mp functor operations