save functions about pipe