rewrote redirection, piping, and executing functions - Gary