Viewmodel Tilting lerp working weird

So im working on a vm tilt to the direction the player walks the thing is for some reason when lerping the tilting it tries to do a full rotation to reach the value causing it to glitch a bit here some footage

External Media

here is the code im using for this

function.RenderStepped(dt)

-- this is not the full function but should work

local TiltAmount = Module.Core.GetCharacter().HumanoidRootPart.CFrame.RightVector:Dot(Module.Core.GetCharacter().HumanoidRootPart.AssemblyLinearVelocity) 

ViewModel.PrimaryPart.CFrame =  ViewCamera.CFrame:ToWorldSpace(CFrame.new(updatebob.Y, updatebob.X, 0):Lerp(CFrame.Angles(0, 0, -TiltAmount/2), 0.1))


end