buffering with StrinIO for read operation