How would I fix this so it will constantly follow BEHIND the players view and the character wont just act extremely glitchy while walking backwards?

This uses Camera:Interpolate and sets the users cframe towards a enemy.

When I go behind the enemy in question the camera zooms in and you cant see the player at all

local Character = Player.Character
	local RootPart = Character:FindFirstChild("HumanoidRootPart")
	
	if Character and RootPart then
			
			Enemy = game.Workspace.WoopWoop.HumanoidRootPart
			EnemyX = game.Workspace.WoopWoop.HumanoidRootPart.CFrame.X
			EnemyY = game.Workspace.WoopWoop.HumanoidRootPart.CFrame.Y
			EnemyZ = game.Workspace.WoopWoop.HumanoidRootPart.CFrame.Z
			
			Camera.CameraType = Enum.CameraType.Scriptable
			
			local CameraCFrame = CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y,RootPart.CFrame.Z) * CFrame.new(RootPart.CFrame.lookVector.X * -5,RootPart.CFrame.lookVector.Y,RootPart.CFrame.lookVector.Z)
			

			
			
			local EnemyCFrame = game.Workspace.WoopWoop.HumanoidRootPart.CFrame

	
			
			local CamSpot = Camera:Interpolate(CameraCFrame,EnemyCFrame ,0.1)
			
			
		RootPart.CFrame = CFrame.new(RootPart.Position,Vector3.new(EnemyX,EnemyY,EnemyZ))

	
	
		end
	

how would I probilly go about fixing this, I've been trying different things and nothing works.

Also on a sidenote is there anyway to make it so the character wont spaz out as much when walking backwards?

I dont need full on code, but it would be nice if someone could point out what im doing wrong/missing