diff --git a/.gitignore b/.gitignore
index 73ee6e8fed06903d1fc5ff4abdcccb333ef4fd29..b639af27127871982e8dc5a4227125afeb9fa488 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ deprecated
 backup/
 dev/
 quickstats/macros/CMSSWCore/
+quickstats/resources/workspace_extensions.json
diff --git a/quickstats/_version.py b/quickstats/_version.py
index 8ac19a8444361164c839beeb29d875d7fe71d05d..4ac5910f60a96fba2288d7816e23d24b80ba5ad2 100644
--- a/quickstats/_version.py
+++ b/quickstats/_version.py
@@ -1 +1 @@
-__version__ = "0.6.5.7"
+__version__ = "0.6.5.9"
diff --git a/quickstats/core/methods.py b/quickstats/core/methods.py
index cd9d5483d800263a47c0fa3ac248166e388935bc..6b30e678499b41fd21f2e109dff3aaab5c66bd5d 100644
--- a/quickstats/core/methods.py
+++ b/quickstats/core/methods.py
@@ -58,10 +58,7 @@ def get_root_version():
     return root_version
 
 def get_workspace_extensions():
-    resource_path = quickstats.resource_path
-    extension_config_file = os.path.join(resource_path, "workspace_extensions.json")
-    with open(extension_config_file, "r") as file:
-        extension_config = json.load(file)
+    extension_config = get_workspace_extension_config()
     extensions = extension_config['required']
     if not extension_config['strict']:
         # deprecated extension
@@ -69,6 +66,15 @@ def get_workspace_extensions():
             extensions.remove('FlexibleInterpVarMkII')
     return extensions
 
+def get_workspace_extension_config():
+    resource_path = quickstats.resource_path
+    extension_config_file = os.path.join(resource_path, "workspace_extensions.json")
+    if not os.path.exists(extension_config_file):
+        extension_config_file = os.path.join(resource_path, "default_workspace_extensions.json")
+    with open(extension_config_file, "r") as file:
+        extension_config = json.load(file)
+    return extension_config
+
 def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace_extension:bool=True):
     if not os.path.isdir(path):
         raise ValueError("macro path must be a directory")
@@ -94,8 +100,7 @@ def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace
     if workspace_extension:
         resource_path = quickstats.resource_path
         extension_config_file = os.path.join(resource_path, "workspace_extensions.json")
-        with open(extension_config_file, "r") as file:
-            extension_config = json.load(file)
+        extension_config = get_workspace_extension_config()
         if name not in extension_config['required']:
             extension_config['required'].append(name)
             with open(extension_config_file, "w") as file:
@@ -105,8 +110,7 @@ def add_macro(path:str, name:Optional[str]=None, copy_files:bool=True, workspace
 def remove_macro(name:str, remove_files:bool=True):
     resource_path = quickstats.resource_path
     extension_config_file = os.path.join(resource_path, "workspace_extensions.json")
-    with open(extension_config_file, "r") as file:
-        extension_config = json.load(file)
+    extension_config = get_workspace_extension_config()
     if (name not in extension_config):
         quickstats.__PRINT__.info(f'WARNING: Extension "{name}" not found in the workspace extension list. Skipped.')
     else:
diff --git a/quickstats/resources/workspace_extensions.json b/quickstats/resources/default_workspace_extensions.json
similarity index 100%
rename from quickstats/resources/workspace_extensions.json
rename to quickstats/resources/default_workspace_extensions.json
diff --git a/setup.py b/setup.py
index 11cc5ce4a469926001bf4b3a06a594eafb75755c..50fde5d0f8c69c823d19edf900bef4ec4756e543 100644
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,7 @@ setup(
     long_description_content_type="text/markdown",
     packages=setuptools.find_packages(),
     package_data={'quickstats':['macros/*/*.cxx', 'macros/*/*.h', 'stylesheets/*', 'resources/*']},
+    exclude_package_data={'quickstats':['macros/CMSSWCore/*', 'resources/workspace_extensions.json']},
     classifiers=[
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
diff --git a/setup.sh b/setup.sh
index 699acabdf8a09d928b07925acb0fd3bfde73a506..1469d468d934cdcdce6123cfabcd8c1e4537aff6 100644
--- a/setup.sh
+++ b/setup.sh
@@ -30,11 +30,11 @@ then
 	export PYTHONPATH=${DIR}:${PYTHONPATH}	
 elif [[ "$EnvironmentName" = "dev" ]];
 then
-	export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/ml-base/bin:$PATH
+	export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/root-latest/bin:$PATH
 	export PATH=${DIR}/bin:${PATH}
 	export PYTHONPATH=${DIR}:${PYTHONPATH}
 elif [[ "$EnvironmentName" = "conda" ]];
 then
 	echo Entering default conda environment
-	export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/ml-base/bin:$PATH
+	export PATH=/afs/cern.ch/work/c/chlcheng/local/miniconda/envs/root-latest/bin:$PATH
 fi
\ No newline at end of file