Ok, so I started welding a sword and this is what I got.

local w = Instance.new("Weld", script.Parent)
	w.Part0 = script.Parent.Handle
	w.Part1 = script.Parent.Shaft
	w.C0 = CFrame.fromEulerAnglesXYZ(0, 0, 0)*CFrame.new(0, 0, 0)
local w1 = Instance.new("Weld", script.Parent)
	w1.Part0 = script.Parent.Handle
	w1.Part1 = script.Parent.Blade
	w1.C0 = CFrame.fromEulerAnglesXYZ(0, 0, 0)*CFrame.new(0, 0, 0)
local w2 = Instance.new("Weld", script.Parent)
	w2.Part0 = script.Parent.Shaft
	w2.Part1 = script.Parent.Effects
	w2.C0 = CFrame.fromEulerAnglesXYZ(0, 0, 0)*CFrame.new(0, 0, 0)

My request is why does it weld in an implosion instead of where it was? How do I fix this?