Added system.pipe_read function