i made a data store for players, something seems off.... Is it okay?

local DataStoreService = game:GetService("DataStoreService")
local StatsData = DataStoreService:GetDataStore("StatsData")

game.Players.PlayerAdded:Connect(function(plr)
	local plrUserId = "Player_"..plr.UserId
	
	local sucess, errormessage = pcall(function()
		RetrievedData = StatsData:GetAsync(plrUserId)
	end)
	
	if sucess then
		if RetrievedData then
			
		plr.leaderstats.Cash.Value = RetrievedData.Cash;
		plr.leaderstats.Power.Value = RetrievedData.Power;
			plr.leaderstats.Rebirths.Value = RetrievedData.Rebirths
		else
			print("No data found")
		end
	end
end)

game.Players.PlayerRemoving:Connect(function(plr)
	local plrUserId = "Player_"..plr.UserId
	
	local savedData = {}
	
	table.insert(savedData, plr.leaderstats.Cash.Value)
	table.insert(savedData, plr.leaderstats.Power.Value)
	table.insert(savedData, plr.leaderstats.Rebirths.Value)
	
	local sucess, errormessage = pcall(function()
		StatsData:SetAsync(plrUserId, savedData)
	end)
end)