backend version functor