Optimized CloneTrooper1019 Cutscene Script Minor Bug

In this code the Variable ORI is a position but I need it to be a CFrame but I do not know how to transform the CFrame rather than the position. in my CacheFrames function.

local HttpService = game:GetService("HttpService")
local data = HttpService:JSONDecode(script.CutsceneData.Value)
local c = game.Workspace.CurrentCamera
local rs = game:GetService("RunService").RenderStepped
local totalcache={}
local prel=nil
local Enabler=true--change to turn off 
local ORI=Vector3.new(-8000,0,8000)
local function cacheFrames(c1, f1, time, fov, roll)		
local vx,vy,vz,C0,C1,C2,c3,c4,c5,c6,c7,c8 = c1:components()
local c1=CFrame.new(vx+ORI.X,vy+ORI.Y,vz+ORI.Z,C0,C1,C2,c3,c4,c5,c6,c7,c8)
local vx,vy,vz,C0,C1,C2,c3,c4,c5,c6,c7,c8 = f1:components()
local f1=CFrame.new(vx+ORI.X,vy+ORI.Y,vz+ORI.Z,C0,C1,C2,c3,c4,c5,c6,c7,c8)
local preload={}	
local c0,f0,fv0,r0,frames = c.CoordinateFrame,c.Focus,c.FieldOfView,c:GetRoll(),time/0.015
	for i = 1,frames do
		preload[i]=
        {CameraType = "Scriptable",
		CoordinateFrame = CFrame.new(c0.p:lerp(c1.p,i/frames),f0.p:lerp(f1.p,i/frames)),

	    FieldOfView = (fv0+(fov-fv0)*(i*(1/frames))),
		roll=r0+(roll-r0)*(i*(1/frames)),
        frames=frames}
	end
return preload
end

local goalfps=1/70
function tweenCam(c1, f1, time, fov, roll,v,reverse)
if totalcache[v]==nil then
local prel= cacheFrames(c1, f1, time, fov, roll)
totalcache[v]=prel
end
--print(totalcache[v][3].roll)
local frames=totalcache[v][1].frames
for i = 1,frames do
		c.CameraType = totalcache[v][i].CameraType
		c.CoordinateFrame = totalcache[v][i].CoordinateFrame
        c.FieldOfView = totalcache[v][i].FieldOfView
		c:SetRoll(totalcache[v][i].roll)
rs:Wait()
if Enabler==false then
break	
end
end
end

tweenCam(CFrame.new(unpack(data[3].c1)),CFrame.new(unpack(data[3].f1)), data[3].step, data[3].FOV, data[3].Roll,3,false)

while Enabler do
for i = 1,#data do
if Enabler==false then
break
end
tweenCam(CFrame.new(unpack(data[i].c1)),CFrame.new(unpack(data[i].f1)), data[i].step, data[i].FOV, data[i].Roll,i,false)
end
local i=#data
for v = 1,#data do
i=i-1
if Enabler==false then
break
end
if i>1 then
tweenCam(CFrame.new(unpack(data[i].c1)),CFrame.new(unpack(data[i].f1)), data[i].step, data[i].FOV, data[i].Roll,-i,false)
end
end
end
c.CameraType = "Custom"
c.CameraSubject=game.Players.LocalPlayer.Character.Humanoid