use userland readable-stream