Body:
In config.py, the load_config function catches IOError when trying to open the configuration file. While this works, it's better practice to catch the more specific FileNotFoundError which is raised when a file does not exist. This makes the code clearer and more robust as it explicitly handles the intended error condition (file not found) and avoids accidentally catching other types of IO errors that might occur.