Problem with datasaving

Hello everyone, so i am adding a new value to datastore but it is not changing the value, when i change the bool value to true and re join again it does not save the value but i have other values too and they save but only this there value does not change
here is the value declare in the leaderstats

local icewall = Instance.new("BoolValue")
	icewall.Name = "IceWall"
	icewall.Value = false
	icewall.Parent = buttonfolder	
	
	local firewall = Instance.new("BoolValue")
	firewall.Name = "FireWall"
	firewall.Value = false
	firewall.Parent = buttonfolder	
	
	local spacewall = Instance.new("BoolValue")
	spacewall.Name = "SpaceWall"
	spacewall.Value = false
	spacewall.Parent = buttonfolder	
	

and this is for updating the value for datasave

-- icewall
	icewall.Value = sessiondata[plr.UserId].IceWall
	icewall.Changed:Connect(function()
		sessiondata[plr.UserId].IceWall = icewall.Value
	end)
	-- for firewall
	firewall.Value = sessiondata[plr.UserId].FireWall
	firewall.Changed:Connect(function()
		sessiondata[plr.UserId].FireWall = firewall.Value
	end)
	-- for spacewall
	spacewall.Value = sessiondata[plr.UserId].SpaceWall
	spacewall.Changed:Connect(function()
		sessiondata[plr.UserId].SpaceWall = spacewall.Value
	end)

try debug to make sure wats going on , hows the output?

Maybe add “.Value” at the end of each “Wall”?

-- icewall
	icewall.Value = sessiondata[plr.UserId].IceWall.Value
	icewall.Changed:Connect(function()
		sessiondata[plr.UserId].IceWall.Value = icewall.Value
	end)