function UpdateThings(items)
	for i=#items,1,-1 do
		if items[i]:LClicked() then
			for g=1,#items[i].funcs do
				items[i].funcs[g]("l",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif items[i]:RClicked() then
			for g=1,#items[i].funcs do
				items[i].funcs[g]("r",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif items[i]:MClicked() then
			for g=1,#items[i].funcs do
				items[i].funcs[g]("m",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		end
		if not(items[i]:LClicked()) and items[i].LRE then
			for g=1,#items[i].funcs2 do
				items[i].funcs2[g]("l",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif not(items[i]:RClicked()) and items[i].RRE then
			for g=1,#items[i].funcs2 do
				items[i].funcs2[g]("r",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif not(items[i]:MClicked()) and items[i].MRE then
			for g=1,#items[i].funcs2 do
				items[i].funcs2[g]("m",items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		end
		if items[i]:Hovering() and items[i].HE==false then
			for g=1,#items[i].funcs3 do
				items[i].funcs3[g](items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif not(items[i]:Hovering()) and items[i].HE==true then
			for g=1,#items[i].funcs4 do
				items[i].funcs4[g](items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		elseif items[i]:Hovering() then
			for g=1,#items[i].func9 do
				items[i].func9[g](items[i],love.mouse.getX()-items[i].x,love.mouse.getY()-items[i].y)
			end
		end
		for g=1,#items[i].funcs5 do
			items[i].funcs5[g](items[i])
		end
	end
end