switch back to pipe for memory consideration