Working buffer streaming. still need to think about the buffer commit and recycle, this should probably be batched somehow