don't crash on 0 targets. support target failover.