move IOInfo to use pathlib