Bezier curve tilts to the left when creating 3 nodes

So u kno im tryna make a bezier n all dat however, it slightly tilts to the left and it annoys the living crap out of me.
vid: Landing warhead

code:

local P0pos = P0.Position
local P1pos = P1.Position
local magn = (P0pos - P1pos).Magnitude
local P2 = P0:Lerp(P1, 0.15) * CFrame.new(0, magn * 1.5, 0)
local P2pos = P2.Position
local newBezier = bezier.new(P0pos, P2pos, P1pos) -- this is a bezier module i found on the devforum, even if i create my own module the problem still persists

any way I could fix this?

it looks like the RightVector should never really change, so

local ogcf = warhead.CFrame
for i=1, #bz-1 do
    warhead.CFrame = CFrame.fromMatrix(bz[i], ogcf.XVector, bz[i+1] - bz[i])
    RunService.Heartbeat:Wait()
end

should do it.
(also warhead… lol)