handle array ports