Extract makePipe()