update functor stuff