more try/catch blocks, this also refines the behavior of GetBesttarget() even further