finished up read_file_2() with dirty hacks