Update functor