add pipe_read