swapped to more reliable spawning logic