So, i am trying to make a Data Saving module and in the module itself is no error as far as i know.

ModuleScript:

local PlayerStats = {}

local DataStoreService = game:GetService("DataStoreService")
local DataStore = DataStoreService:GetDataStore("DataStoreOfMe")

local AutosaveInterval = 60

local sessiondata = {}

function PlayerStats:Changing(player, statName, changeValue)
	sessiondata[player][statName] = sessiondata[player][statName] + changeValue
end

local function getplayerdata(player)
	return DataStore:GetAsync(player.UserId)
end

local function saveplayerdata(player)
	DataStore:SetAsync(player.UserId, sessiondata[player])
end

local function setupPlayerData(player)
	local data = getplayerdata(player)
	if not data then
		sessiondata[player] = {Money = 500}
		saveplayerdata(player)
	else
		sessiondata[player] = data
	end
end

local function autosave()
	while wait(AutosaveInterval) do
		for player, data in pairs(sessiondata) do
			saveplayerdata(player)
		end
	end
end

game.Players.PlayerAdded:connect(setupPlayerData)

game.Players.PlayerRemoving:connect(function(player)
	saveplayerdata(player)
	sessiondata[player] = nil
end)

spawn(autosave)

return PlayerStats

And my problem is, i can't remember how to access the "Money" variable in it. Here is how i tried accessing it.

ServerScript:

local playerStats = require(game.ReplicatedStorage.Modules.DataModule)

game.Players.PlayerAdded:connect(function(player)
	local lead = Instance.new("Folder",player)
	lead.Name = "leaderstats"
	
	local mon = Instance.new("NumberValue")
	mon.Name = "Money"
	mon.Value = playerStats["sessiondata"][player]["Money"]
	mon.Parent = lead
end)

The error i get is : ServerScriptService.Main:9: attempt to index field 'sessiondata' (a nil value)

I'd greatly appreciate any help!