made config::path pub(crate) to avoid code duplication but not pub so it is not part of the public API