updated to use yaml.safe_load