custom IoError namespacing, range matches, use to_vec