improved object spawning