add percolation by storage function method