Improved Read_into_buffer