percolate functions