This script works but the camera is very shaky. Any ideas on how to fix?

local player = game.Players.LocalPlayer
local CameraY = 4
local CameraZ = 12

game:GetService("RunService").RenderStepped:connect(function()
	if player.Character ~= nil then

local PositionCamera = Vector3.new(player.Character.PrimaryPart.Position.X,player.Character.PrimaryPart.Position.Y+CameraY,player.Character.PrimaryPart.Position.Z+CameraZ)

workspace.CurrentCamera.CoordinateFrame = CFrame.new(PositionCamera, game.Players.LocalPlayer.Character.Head.Position)

	end
end)