feature(pipe) add