use raw string to represent the BASE_CODE to prevent \n to be a return carriage
mv function split_line to read_line