Add new Stats with old one staying(ProfileService)

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")


local ReplicaService = require(ServerScriptService.ReplicaService)
local ProfileService = require(ServerScriptService.ProfileService)


local ProfileTemplate = {
	CurrentCar = "",
	Vehicles = {},
}

for _, VH in pairs(game:GetService("ReplicatedStorage").Vehicles:GetChildren()) do
	local CarData = {
		VehicleName = VH.Name,
		aOwnedV = false,
		Primary = tostring(VH.Body:FindFirstChild("PrimaryColor").Color) or "1, 1, 1",
		RimColor = "1, 1, 1",
	}
	table.insert(ProfileTemplate.Vehicles, CarData)
end


local ReplicaTestServer = {

}

local plrCars = {}

local UpdateEvent = ReplicatedStorage.Events.UpdateCustomization

local PlayerProfileClassToken = ReplicaService.NewClassToken("PlayerProfile")

local GameProfileStore = ProfileService.GetProfileStore(
	"PlayerData",
	ProfileTemplate
)

local PlayerProfile -- PlayerProfile object
local PlayerProfiles = {} -- [player] = {Profile = profile, Replica = replica}

local LastPayout = os.clock()

local function LoadData(player, profile)
	local CurrentCar = Instance.new("StringValue", player)
	CurrentCar.Name = "CurrentCar"
	CurrentCar.Value = profile.Data.CurrentCar

	local folder = Instance.new("Folder", player)
	folder.Name = "Vehicles"

	for i, v in pairs(game:GetService("ReplicatedStorage").Vehicles:GetChildren()) do
		local Cars = Instance.new("BoolValue", folder)
		Cars.Name = v.Name

		for o, a in pairs(profile.Data.Vehicles) do
			if a.VehicleName == v.Name then
				for q, e in pairs(a) do
					Cars:SetAttribute(q, e)
				end
			end
		end
	end
end
local function PlayerAdded(player)
	local profile = GameProfileStore:LoadProfileAsync(
		"#Game" .. player.UserId,
		"ForceLoad"
	)
	if profile ~= nil then
		profile:AddUserId(player.UserId)
		profile:Reconcile()
		profile:ListenToRelease(function()
			PlayerProfiles[player].Replica:Destroy()
			PlayerProfiles[player] = nil
			player:Kick()
		end)
		if player:IsDescendantOf(Players) == true then
			local player_profile = {
				Profile = profile,
				Replica = ReplicaService.NewReplica({
					ClassToken = PlayerProfileClassToken,
					Tags = {Player = player},
					Data = profile.Data,
					Replication = "All",
				}),
				_player = player,
			}
			setmetatable(player_profile, PlayerProfile)
			PlayerProfiles[player] = player_profile
			LoadData(player, profile)
		else
			profile:Release()
		end
	else
		player:Kick() 
	end
end
----- Public functions -----

-- PlayerProfile object:
PlayerProfile = {
	--[[
		_player = player,
	--]]
}
PlayerProfile.__index = PlayerProfile



function PlayerProfile:IsActive() --> is_active
	return PlayerProfiles[self._player] ~= nil
end

----- Initialize -----

for _, player in ipairs(Players:GetPlayers()) do
	coroutine.wrap(PlayerAdded)(player)
end



Players.PlayerAdded:Connect(PlayerAdded)

Players.PlayerRemoving:Connect(function(player)
	local player_profile = PlayerProfiles[player]
	if player_profile ~= nil then
		player_profile.Profile:Release()
	end
end)

i want it when i add new car the old cars data stays it does that but it dont add the data for the new cars, im using the boolvalue and the data is the attributes