--		print("Loading anims " .. Name)

		table.insert(AnimTable[Name].Connections, Config.ChildAdded:connect(function(Child)
			ConfigureAnimationSet(Name, FileList)
		end))
		table.insert(AnimTable[Name].Connections, Config.ChildRemoved:connect(function(Child)
			ConfigureAnimationSet(Name, FileList)
		end))
		local Index = 1
		for i, ChildPart in pairs(Config:GetChildren()) do
			if (ChildPart:IsA("Animation")) then
				table.insert(AnimTable[Name].Connections, ChildPart.Changed:connect(function(Property)
					ConfigureAnimationSet(Name, FileList)
				end))
				AnimTable[Name][Index] = {}
				AnimTable[Name][Index].Anim = ChildPart
				local WeightObject = ChildPart:FindFirstChild("Weight")
				if WeightObject then
					AnimTable[Name][Index].Weight = 1
				else
					AnimTable[Name][Index].Weight = WeightObject.Value
				end
				AnimTable[Name].Count = AnimTable[Name].Count + 1
				AnimTable[Name].TotalWeight = AnimTable[Name].TotalWeight + AnimTable[Name][Index].Weight
	--			print(Name .. " [" .. Index .. "] " .. AnimTable[Name][Index].Anim.AnimationId .. " (" .. AnimTable[Name][Index].Weight .. ")")
				Index = Index + 1
			end
		end
	end

	-- fallback to defaults
	if AnimTable[Name].Count <= 0 then
		for Index, Anim in pairs(FileList) do
			AnimTable[Name][Index] = {}
			AnimTable[Name][Index].Anim = Instance.new("Animation")
			AnimTable[Name][Index].Anim.Name = Name
			AnimTable[Name][Index].Anim.AnimationId = Anim.Id
			AnimTable[Name][Index].Weight = Anim.Weight
			AnimTable[Name].Count = AnimTable[Name].Count + 1
			AnimTable[Name].TotalWeight = AnimTable[Name].TotalWeight + Anim.Weight