Why do i get this Error?

I get this Error:
:20: invalid argument #3 (string expected, got table)
and i dont know how to fix it .
The Error happens at: Cash2.Value = newcash
My Code:

local DataStore = game:GetService("DataStoreService")
local CashDS = DataStore:GetDataStore("CashDataStorage")
local Autosave = 10

game.Players.PlayerAdded:Connect(function(player)
	
	local Cashsuccess, newcash = pcall(function() 
	  return CashDS:GetAsync(player.userId) or 0 
	 end)
	
	
	
	local leaderstats = Instance.new("Folder",player)
	leaderstats.Name = "SavesFolder"
	leaderstats.Archivable = true
	
	local Cash2 = Instance.new("StringValue",leaderstats)
	Cash2.Name = "AccDisabled"
	Cash2.Value = newcash
	
	local Cash = Instance.new("StringValue",leaderstats)
	Cash.Name = "Save1"
	Cash.Value = newcash

	while wait(Autosave) do
		
	--	print(""..player.Name.."'s Data is Saving...")
	 
	local Cashsuccess, ValueAmmount = pcall(function() 
			return CashDS:SetAsync(player.userId,{
				Cash2.Value, 
				Cash.Value
				})
	 end)

	 if Cashsuccess then
			--print(""..player.Name.."'s Cash Data Was Saved at "..Cash2.Value.."")
			--print(""..player.Name.."'s Cash Data 2 Was Saved at "..Cash.Value.."")
		end
	end
end)


You use :SetAsync and use set the Player’s data to a table {Cash2.Value, Cash.Value}.
Then you get it and tried to set the Player’s Cash value to the table, when you should be indexing the table.

Cash.Value = newcash[1];