added functions for port arbitration