Lerping Camera CFrame isn't working ! Recoil pattern for gun test

I want to create a recoil pattern although yes this is just a test! However the camera refuses to lerp to the
given CFrame… I do not know how to fix this?

I tried using TweenService but the same thing happened. And I can tween the angles of the camera but I still want the camera to be attached to the Character therefore I don’t know if changing CameraType to Scriptable will fix anything…

local players = game:GetService("Players")
local plr = players.LocalPlayer
local Mouse = plr:GetMouse()
local cam = workspace.CurrentCamera
local xval = 0
local speedshake = 20
local DistanceShake = 5
local startpart = game.Workspace.Start
local Endpart = game.Workspace.End

local function LerpTest()

	local totalspeed = speedshake * tick()
	local xbobble = math.cos(totalspeed*DistanceShake)
	local ybobble = math.abs(math.sin(totalspeed)) * DistanceShake
	local NewCFrame = cam.CFrame * CFrame.new(xbobble,ybobble,0)
	print(cam.CFrame,"Camera CFrame")

	cam.CFrame = cam.CFrame:Lerp(NewCFrame * CFrame.Angles(0,0,0),.25)



Any advice would be appreciated!

So sorry! I figured it out! Lerp is supposed to be used with RunService! Reworking my code now lol!