Stats are linked for all players?

I am trying make a leaderstat that goes up one each second. I have made this, but for some odd reason it goes up one of each player, not just the individual player.

SCRIPT:

players.PlayerAdded:Connect(function(p)
	local ls = Instance.new("StringValue")
	local timeval = Instance.new("NumberValue")
	local killsval = Instance.new("NumberValue")
	
	ls.Name = 'leaderstats'
	timeval.Name = 'Time'
	killsval.Name = 'Kills'
	
	ls.Parent = p
	timeval.Parent = ls
	killsval.Parent = ls
	
	local store
	local works, doesntwork = pcall(function()
		store = savingStuff:GetAsync(p.UserId)
	end)
	
	if works then
		timeval.Value = store[1]
		killsval.Value = store[2]
	else
		warn(p.Name.. " has no data connected to their account. Skipping loading.")
	end
	coroutine.wrap(function()
		while fastWait(1) do
			if isSafe == false then
				timeval.Value = timeval.Value + 1
			end
		end
	end)()
end)

NOTE: I do have a few parts like datastores, fastwait (a waiting module), etc that I left in just in case it will help with finding the error.

It looks like you are creating the function for all players.
I say that as I could not find any code referring to the specific player you want.

it is because you are using a cooroutine.wrap. Player added event already creates a separate thread for each player added so it is redundant.