buffer reader and writer