Camera dont rotate around z axis

If I put math.rad(c) on the x and y axis it works, however when I put math.rad(c) on the z axis, it doesn’t work.

local Viewport = script.Parent
local Sword = script.Parent:FindFirstChildWhichIsA("Model").PrimaryPart

local Camera = Instance.new("Camera")
Camera.Parent = Viewport
Viewport.CurrentCamera = Camera
Camera.CameraType = Enum.CameraType.Scriptable

local c = 0;

game:GetService("RunService").Heartbeat:Connect(function()
	-- Say we have a variable, that's the primary part of the Sword I'll call it Sword.
	local cframe = Sword.CFrame * CFrame.Angles(0, 0, math.rad(c)) * CFrame.new(0, 0, -5) 
	--  Change the angles accordingly, and the -5 should be distance from the objects center outwards.
	-- Once you have that, you want to take that position and have it face the position of the sword, and then set the Viewport's camera cframe to that new cframe.
	cframe = CFrame.new(cframe.p, Sword.Position)
	Viewport.CurrentCamera.CFrame = cframe;

	c = c + 3;
end)