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")
	print(NewCFrame,"NewCFrame")

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


	
end

Mouse.Button1Down:Connect(LerpTest)

Any advice would be appreciated!

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