implement port percolation