refactor(join) add readPipe