DataStore2 help

help im trying to make a save script using datastore 2 and it doesnt want to get passed v.changed, why?!

local DataStore2 = require(script.Parent:WaitForChild("MainModule"))
local MainKey = 'DeltaBloxSave1'
DataStore2.Combine(MainKey,'Values')
print(MainKey)
local function SetDataTable()
	local PlayerData = {
		
		Values = {
			['Created'] = false,
			['Location'] = "???",
			['Position'] = Vector3.new(0,0,0),
			['Chars'] = "1",
			['Time'] = "00:00",
		},
	}
	return PlayerData
end

game.Players.PlayerAdded:Connect(function(plr)
	
	local PlayerData = DataStore2(MainKey, plr):GetTable(SetDataTable())
	local DataFolder = nil
	
	if not plr:FindFirstChild("Sv1") then
		DataFolder = Instance.new('Folder')
		DataFolder.Name = 'Sv1'
		else
		DataFolder = plr:WaitForChild("Sv1")
	end
	local Created = Instance.new('BoolValue', DataFolder)
	Created.Name = 'Created'
	local Location = Instance.new('StringValue', DataFolder)
	Location.Name = 'Location'
	local Position = Instance.new('Vector3Value', DataFolder)
	Position.Name = 'Position'
	local Chars = Instance.new('NumberValue', DataFolder)
	Chars.Name = 'Chars'
	local Time = Instance.new('StringValue', DataFolder)
	Time.Name = 'Time'
	
		local Values = DataStore2(MainKey,plr)

	local function UpdateAllStats(UpdatedStats)
		for i,v in pairs(DataFolder:GetChildren()) do
				
				if Values:Get(UpdatedStats)['Values'][v.Name] ~= nil then
				v.Value = Values:Get(UpdatedStats)['Values'][v.Name]
			end
			
		end
		
	end
	
	UpdateAllStats(PlayerData)
	DataStore2(MainKey,plr):OnUpdate(UpdateAllStats)
	
	DataFolder.Parent = plr
	
	for i,v in pairs(DataFolder:GetChildren()) do
		v.Changed:connect(function()
			print("did something")
			PlayerData['Values'][v.Name] = v.Value
			DataStore2(MainKey,plr):Set(PlayerData)
		end)
	end
	
	local value = Instance.new('BoolValue')
	value.Name = 'Loaded'
	value.Parent = plr
	


end)