this is pretty picky, but should a function called `add_matched_path` call another function called `add_unmatched_path`? any reason the first one isn't just called `add_path`?