use Path::Tiny instead of all the file opening business