limit functor