Accessories being put in weird orientation when parenting a new accessory to the character

Hello everyone! I’m trying to make a custom characterization with shirts/faces/pants etc. Everything else works besides the faces/hairs. When I parent them to the character, the faces will be put in a weird orientation everytime, also the hairs will sometimes be offsetted slightly above the character, and I have no idea why. I’ve been stuck on this for weeks and some help would be appreiciated. Here is the video with the issue:


As you see the faces are different directions everytime but sometimes they are correct.

and here is the video with the hairs, sometimes they are slightly above the head and sometimes not, as well as behind it. If anyone has any idea on how to tackle this, It would be appreciated, thanks in advance!
Also here is the code for the faces:

local function addAndAlignFaceAccessory(accessory)
	local clonedAccessory = accessory:Clone()
	local handle = clonedAccessory:FindFirstChild("Handle")

	if clonedAccessory then
		local head = Character:WaitForChild("Head", 2)
		if head then
			if head:FindFirstChild("face") then head:FindFirstChild("face"):Destroy() end
			head.Transparency = 1
			
			local accessWeld = Instance.new("WeldConstraint")
			--accessWeld.C0.Orientation = Vector3.new(0, -180, 0)
			accessWeld.Part0 = handle
			accessWeld.Part1 = head
			accessWeld.Parent = handle
			
			--accessWeld.C0 = Vector3.new(0, )
			--local yOffset = 0.0  -- Adjust height 
			--local zOffset = 0.02  -- Forward adjustment 

			--handle.CFrame = CFrame.new(handle.Position)  

			--handle.CFrame = head.CFrame * CFrame.new(0, 0, 0.02)
			--handle.Anchored = false
			
			--local weldConst = Instance.new("WeldConstraint")
			
			--weldConst.Part0 = head
			--weldConst.Part1 = handle
			--weldConst.Parent = handle

			--local weld = Instance.new("Weld")
			--weld.Part0 = head
			--weld.Part1 = handle
			--weld.C0 = CFrame.new(0, 0, 0)
			--weld.Parent = handle

			clonedAccessory.Name = "FaceAccessory"
			--Humanoid:AddAccessory(clonedAccessory)
			clonedAccessory.Parent = Character
			handle.Transparency = 0 
			handle.Orientation = Vector3.new(0,0,0)
		end
	end
end

bump bump bump bump bump bump bump