streaming data instead of using byte slice