adding ctrans functor because it is the real useful one versus trans and using it in qrdelete/insert