Having trouble welding with script

Every time I load in my game my custom made parts are above my head but not where my head is at How can I fix my script??
This is what it is doing here: https://gyazo.com/26f8e677d6df7933f4aadc763563aeb3
This is the script I am using:

if rig2 then
		rig2:SetPrimaryPartCFrame(rig.PrimaryPart.CFrame)
		for _,v in pairs(rig2:GetDescendants()) do
			if v:IsA("BasePart") and v.Parent:IsA("BasePart") then
				v.Parent = rig:FindFirstChild(v.Parent.Name)
				v.Anchored = false
				local weld = Instance.new("WeldConstraints ",v)
				weld.Part0,weld.Part1 = v,v.Parent

Set the position of them to the head too, might not work, but worth a try.

as in do a positioning as aswell?

Yes like v.Position= whatever you call the head

alright i’ll give it a shot give me a sec to try it

I meant position, and maybe only have all of the parts that your trying to weld be welded to one of the parts, and set the position of that one part with all the welds connected to it be position set to the head.

I found a solution but thanks for the help