used bytebuf stream to replace read buf directly