ALpha version of piping. Contains bugs.