Smarter buffered_reader