reimplemented pipe w/o step