Help with cell shading character

Hey guys, I recently I decided to cell shade my characters in my game, however the script I have for it doesn’t seem to work. Maybe I’m doing something wrong. In the clip below you can see the cell shaded parts appear for half a second but then it clips through the ground even though I weld them
https://gyazo.com/63a80abc0fcc0585cca639f06ec06911

I tried it for the head only, just to see if it works

 
local head =  script:WaitForChild("Head")

 
local players = game:GetService("Players")



players.PlayerAdded:Connect(function(player)
	
	player.CharacterAdded:Connect(function(char)
		
		local folder =  Instance.new("Folder",char)
		folder.Name = "PlayerOutline"
		
		local bodyparts = char:GetChildren()
		for i,part in pairs(bodyparts) do
			if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart"  then
				if part.Name == "Head"  then
					
					local clone =  head:Clone()
					clone.Parent = folder
					clone.Size =  Vector3.new(10, 10, 10)
					clone.CFrame =  part.CFrame
					clone.Orientation =  part.Orientation
					
					local weld = Instance.new("WeldConstraint")
					weld.Part0 = part
					weld.Part1 = clone
					weld.Parent = part
					
	            end
			end
		end
		
	end)
	
end)

Any Idea guys?

Fixed it myself with a bit of tinkering with the code