re-working how ports are tried so that multiple commands don't try the
same bad port, setting the groundwork for a toggle command