tidy this method
after sleeping on it, I have a better way to handle respawn limits