diff --git a/experiment/meteo_france_data/scm_models_data/abstract_study.py b/experiment/meteo_france_data/scm_models_data/abstract_study.py
index 0e548d1a507442528b161adfcf0803c665a6e158..23a7a7ec934799fefdc352bec6b7e81cdf94660e 100644
--- a/experiment/meteo_france_data/scm_models_data/abstract_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_study.py
@@ -1,8 +1,6 @@
 import datetime
 
 from matplotlib.lines import Line2D
-from matplotlib.markers import MarkerStyle
-from matplotlib.patches import Polygon, Patch
 import io
 import os
 import os.path as op
@@ -25,7 +23,7 @@ from experiment.meteo_france_data.scm_models_data.scm_constants import ALTITUDES
     LATITUDES, ORIENTATIONS, SLOPES, ORDERED_ALLSLOPES_ALTITUDES, ORDERED_ALLSLOPES_ORIENTATIONS, \
     ORDERED_ALLSLOPES_SLOPES, ORDERED_ALLSLOPES_MASSIFNUM
 from experiment.meteo_france_data.scm_models_data.visualization.utils import get_km_formatter
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from experiment.meteo_france_data.plot.create_shifted_cmap import create_colorbase_axis, \
     get_shifted_map, get_colors
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
index 1a221eb9f0275056af692d21584f202b502e8990..264c7566bb8c8914ec2ce94bcc1d5d108dabc6e7 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
@@ -29,9 +29,9 @@ from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import Lin
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import \
     LinearNonStationaryLocationMarginModel, \
     LinearStationaryMarginModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction
+from extreme_fit.function.param_function.param_function import AbstractParamFunction
 from extreme_fit.model.max_stable_model.abstract_max_stable_model import CovarianceFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from extreme_fit.distribution.gev.ismev_gev_fit import IsmevGevFit
diff --git a/experiment/regression_margin/regression_margin.py b/experiment/regression_margin/regression_margin.py
index 6d4d1813100bbc0002eb06b21f583175f72a4ce8..0dfcdccc93a8ce7c6ba50dee8067eb3cd73959e7 100644
--- a/experiment/regression_margin/regression_margin.py
+++ b/experiment/regression_margin/regression_margin.py
@@ -1,7 +1,7 @@
 import numpy as np
 
 from extreme_fit.estimator.full_estimator.abstract_full_estimator import FullEstimatorInASingleStepWithSmoothMargin
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearAllParametersAllDimsMarginModel, \
     ConstantMarginModel
 from extreme_fit.model.max_stable_model.max_stable_models import Smith
diff --git a/experiment/simulation/abstract_simulation.py b/experiment/simulation/abstract_simulation.py
index bc4e14e3b3c15b7ac6f2ffdf271e32b892fe0bda..2a94a6bc637726f135ae3013973311fb4940f8fa 100644
--- a/experiment/simulation/abstract_simulation.py
+++ b/experiment/simulation/abstract_simulation.py
@@ -14,11 +14,11 @@ import seaborn as sns
 from numpy.linalg import LinAlgError
 
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.margin_function.combined_margin_function import \
+from extreme_fit.function.margin_function.combined_margin_function import \
     CombinedMarginFunction
-from extreme_fit.model.margin_model.margin_function.utils import error_dict_between_margin_functions
+from extreme_fit.function.margin_function.utils import error_dict_between_margin_functions
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.dataset.abstract_dataset import get_subset_dataset
 from spatio_temporal_dataset.dataset.simulation_dataset import SimulatedDataset
diff --git a/experiment/trend_analysis/non_stationary_trends.py b/experiment/trend_analysis/non_stationary_trends.py
index 2f62913ce7cd978fc6f7f6236597959f11ca5668..2c63e9575c5368dbecb42aa2642831a4b1332cf1 100644
--- a/experiment/trend_analysis/non_stationary_trends.py
+++ b/experiment/trend_analysis/non_stationary_trends.py
@@ -14,7 +14,7 @@ from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model impo
     LinearStationaryMarginModel, LinearNonStationaryLocationMarginModel
 from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \
     StationaryTemporalModel, NonStationaryLocationTemporalModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.utils import OptimizationConstants
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 from root_utils import get_display_name_from_object_type
diff --git a/extreme_fit/estimator/abstract_estimator.py b/extreme_fit/estimator/abstract_estimator.py
index 5e8b880e55e09740636ac0c2dd80108290d7eef8..d9be72741d395408e86bb221ae5eae1147caad0b 100644
--- a/extreme_fit/estimator/abstract_estimator.py
+++ b/extreme_fit/estimator/abstract_estimator.py
@@ -3,7 +3,7 @@ from typing import Union
 from cached_property import cached_property
 
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 
diff --git a/extreme_fit/estimator/full_estimator/abstract_full_estimator.py b/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
index 754054f3a123705d4cdb8973b86694843b413648..2657a8814f0319e9b8b2853bb4f3758ba2a895bb 100644
--- a/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
+++ b/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
@@ -5,7 +5,7 @@ from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import Lin
 from extreme_fit.estimator.max_stable_estimator.abstract_max_stable_estimator import MaxStableEstimator
 from extreme_fit.estimator.utils import load_margin_function
 from extreme_fit.model.margin_model.abstract_margin_model import AbstractMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
 from extreme_fit.model.max_stable_model.abstract_max_stable_model import AbstractMaxStableModel
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
diff --git a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
index d4b756e1b84bc54388ad810688c76e1b50c49a0e..0e6f65370ba6775d100e6bfd5afef4e3e7a3c8e4 100644
--- a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
+++ b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
@@ -5,7 +5,7 @@ from cached_property import cached_property
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
 from extreme_fit.estimator.utils import load_margin_function, compute_nllh
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 from spatio_temporal_dataset.slicer.split import Split
diff --git a/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py b/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
index d39b121fa60ce859972207ce766b33c25ee2678e..ef9af2faba618d7b4fd1fd188119a9d2e2891053 100644
--- a/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
+++ b/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
@@ -1,6 +1,6 @@
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import AbstractMarginFunction
+from extreme_fit.function.margin_function.abstract_margin_function import AbstractMarginFunction
 
 
 class AbstractQuantileFunction(object):
diff --git a/extreme_fit/estimator/utils.py b/extreme_fit/estimator/utils.py
index 5ffa53e8d80353e222b8b435a31ac763cd82de54..e66669fc6bd5c761690716d8d685aaab66271fdb 100644
--- a/extreme_fit/estimator/utils.py
+++ b/extreme_fit/estimator/utils.py
@@ -2,7 +2,7 @@ import numpy as np
 
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 
 
 def load_margin_function(estimator: AbstractEstimator, margin_model: LinearMarginModel,
diff --git a/extreme_fit/model/margin_model/margin_function/__init__.py b/extreme_fit/function/__init__.py
similarity index 100%
rename from extreme_fit/model/margin_model/margin_function/__init__.py
rename to extreme_fit/function/__init__.py
diff --git a/extreme_fit/function/abstract_function.py b/extreme_fit/function/abstract_function.py
new file mode 100644
index 0000000000000000000000000000000000000000..0cf3bcfbe3064cc2ff59f19d19fda48261d51e3f
--- /dev/null
+++ b/extreme_fit/function/abstract_function.py
@@ -0,0 +1,4 @@
+
+
+class AbstractFunction(object):
+    pass
\ No newline at end of file
diff --git a/extreme_fit/model/margin_model/param_function/__init__.py b/extreme_fit/function/margin_function/__init__.py
similarity index 100%
rename from extreme_fit/model/margin_model/param_function/__init__.py
rename to extreme_fit/function/margin_function/__init__.py
diff --git a/extreme_fit/model/margin_model/margin_function/abstract_margin_function.py b/extreme_fit/function/margin_function/abstract_margin_function.py
similarity index 100%
rename from extreme_fit/model/margin_model/margin_function/abstract_margin_function.py
rename to extreme_fit/function/margin_function/abstract_margin_function.py
diff --git a/extreme_fit/model/margin_model/margin_function/combined_margin_function.py b/extreme_fit/function/margin_function/combined_margin_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/margin_function/combined_margin_function.py
rename to extreme_fit/function/margin_function/combined_margin_function.py
index ef3b683bfcc9429ed543f68652f1e7e8afaa0fc3..08737bc16e61bd0ef81bb528c01e51e18b1c72b7 100644
--- a/extreme_fit/model/margin_model/margin_function/combined_margin_function.py
+++ b/extreme_fit/function/margin_function/combined_margin_function.py
@@ -3,7 +3,7 @@ from itertools import combinations
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/independent_margin_function.py b/extreme_fit/function/margin_function/independent_margin_function.py
similarity index 90%
rename from extreme_fit/model/margin_model/margin_function/independent_margin_function.py
rename to extreme_fit/function/margin_function/independent_margin_function.py
index 49dd3329aaafdbf92079f4653cf23bd19fa55b84..74fe3131ce8446bb3a41ad86c272601227c3b1a4 100644
--- a/extreme_fit/model/margin_model/margin_function/independent_margin_function.py
+++ b/extreme_fit/function/margin_function/independent_margin_function.py
@@ -2,9 +2,9 @@ from typing import Dict, Union
 
 import numpy as np
 
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction
+from extreme_fit.function.param_function.param_function import AbstractParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
diff --git a/extreme_fit/model/margin_model/margin_function/linear_margin_function.py b/extreme_fit/function/margin_function/linear_margin_function.py
similarity index 92%
rename from extreme_fit/model/margin_model/margin_function/linear_margin_function.py
rename to extreme_fit/function/margin_function/linear_margin_function.py
index 157a62b992cd3c3767a1660e8f45daae7e5c4e6f..d89a7a59c3275b90271e1168fb269e11c0628543 100644
--- a/extreme_fit/model/margin_model/margin_function/linear_margin_function.py
+++ b/extreme_fit/function/margin_function/linear_margin_function.py
@@ -1,11 +1,11 @@
 from typing import Dict, List, Union
 
 from extreme_fit.distribution.abstract_params import AbstractParams
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     LinearParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/parametric_margin_function.py b/extreme_fit/function/margin_function/parametric_margin_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/margin_function/parametric_margin_function.py
rename to extreme_fit/function/margin_function/parametric_margin_function.py
index 89a26baa59cc4ceb808e5d412ddb259b2413b5ab..5703721665ef34f1613346383c1bec4751336894 100644
--- a/extreme_fit/model/margin_model/margin_function/parametric_margin_function.py
+++ b/extreme_fit/function/margin_function/parametric_margin_function.py
@@ -2,10 +2,10 @@ from typing import Dict, List, Union
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.independent_margin_function import \
+from extreme_fit.function.margin_function.independent_margin_function import \
     IndependentMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     ConstantParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/spline_margin_function.py b/extreme_fit/function/margin_function/spline_margin_function.py
similarity index 86%
rename from extreme_fit/model/margin_model/margin_function/spline_margin_function.py
rename to extreme_fit/function/margin_function/spline_margin_function.py
index ef8af6af1954f1d8d251e834ea60b54d60400b48..d7f9cb2b36191ed014e04ba525b8ec1d6c0b4097 100644
--- a/extreme_fit/model/margin_model/margin_function/spline_margin_function.py
+++ b/extreme_fit/function/margin_function/spline_margin_function.py
@@ -2,12 +2,12 @@ from typing import Dict, List
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     SplineParamFunction
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/extreme_fit/model/margin_model/margin_function/utils.py b/extreme_fit/function/margin_function/utils.py
similarity index 93%
rename from extreme_fit/model/margin_model/margin_function/utils.py
rename to extreme_fit/function/margin_function/utils.py
index bc3aec4685c85ecaf63e987e07563d91e524ae13..5f5fdac2acb8710645be4e8bfd564e9146a899ae 100644
--- a/extreme_fit/model/margin_model/margin_function/utils.py
+++ b/extreme_fit/function/margin_function/utils.py
@@ -1,4 +1,4 @@
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 
diff --git a/extreme_fit/function/param_function/__init__.py b/extreme_fit/function/param_function/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/extreme_fit/model/margin_model/param_function/abstract_coef.py b/extreme_fit/function/param_function/abstract_coef.py
similarity index 100%
rename from extreme_fit/model/margin_model/param_function/abstract_coef.py
rename to extreme_fit/function/param_function/abstract_coef.py
diff --git a/extreme_fit/model/margin_model/param_function/linear_coef.py b/extreme_fit/function/param_function/linear_coef.py
similarity index 97%
rename from extreme_fit/model/margin_model/param_function/linear_coef.py
rename to extreme_fit/function/param_function/linear_coef.py
index 85755931d0465086be640f993999d6a496f608c1..10cdd1c1b33455b302713bf2539b1de8b7d9ff9f 100644
--- a/extreme_fit/model/margin_model/param_function/linear_coef.py
+++ b/extreme_fit/function/param_function/linear_coef.py
@@ -1,6 +1,6 @@
 from typing import Dict, List
 
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/extreme_fit/model/margin_model/param_function/param_function.py b/extreme_fit/function/param_function/param_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/param_function/param_function.py
rename to extreme_fit/function/param_function/param_function.py
index 61cb890de7a6b0774659f5ee52d06a4875ead091..38e4f6b5dec79275f2b95cdfc305acb432aee12d 100644
--- a/extreme_fit/model/margin_model/param_function/param_function.py
+++ b/extreme_fit/function/param_function/param_function.py
@@ -1,7 +1,7 @@
 from typing import List
 import numpy as np
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef
 
 
 class AbstractParamFunction(object):
diff --git a/extreme_fit/model/margin_model/param_function/spline_coef.py b/extreme_fit/function/param_function/spline_coef.py
similarity index 93%
rename from extreme_fit/model/margin_model/param_function/spline_coef.py
rename to extreme_fit/function/param_function/spline_coef.py
index c3564d8f793270c966fc766518022c3fc76b752b..c5983fe67534ddcb255ea845f378c2662de2d3ce 100644
--- a/extreme_fit/model/margin_model/param_function/spline_coef.py
+++ b/extreme_fit/function/param_function/spline_coef.py
@@ -1,6 +1,6 @@
 from typing import Dict
 
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
 
 
 class PolynomialCoef(AbstractCoef):
diff --git a/extreme_fit/model/margin_model/abstract_margin_model.py b/extreme_fit/model/margin_model/abstract_margin_model.py
index a9436f6b07fc421926d08b2ed7bf8fe1a54a739d..245931391eb587e8f81da93012b096116bc06e87 100644
--- a/extreme_fit/model/margin_model/abstract_margin_model.py
+++ b/extreme_fit/model/margin_model/abstract_margin_model.py
@@ -4,7 +4,7 @@ import numpy as np
 import pandas as pd
 
 from extreme_fit.model.abstract_model import AbstractModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function \
+from extreme_fit.function.margin_function.abstract_margin_function \
     import AbstractMarginFunction
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
 from extreme_fit.model.utils import r
diff --git a/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py b/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
index f84b50c527439a7e0d3c4d0007c2da5420be6941..82b6afbdc77b98f47991dd3e23e3d1709067c1fb 100644
--- a/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
+++ b/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
@@ -1,8 +1,7 @@
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from extreme_fit.model.margin_model.parametric_margin_model import ParametricMarginModel
 from extreme_fit.distribution.gev.gev_params import GevParams
-from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
 class LinearMarginModel(ParametricMarginModel):
diff --git a/extreme_fit/model/margin_model/parametric_margin_model.py b/extreme_fit/model/margin_model/parametric_margin_model.py
index 35ae8fa5e94bc417e5e05db4eb5abec43882b338..61279f4aad31c70c05b68695a698c2f16b1f20b7 100644
--- a/extreme_fit/model/margin_model/parametric_margin_model.py
+++ b/extreme_fit/model/margin_model/parametric_margin_model.py
@@ -3,7 +3,7 @@ from abc import ABC
 import numpy as np
 import pandas as pd
 
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
 from extreme_fit.model.result_from_model_fit.result_from_spatial_extreme import ResultFromSpatialExtreme
 from extreme_fit.model.margin_model.abstract_margin_model import AbstractMarginModel
diff --git a/extreme_fit/model/margin_model/spline_margin_model.py b/extreme_fit/model/margin_model/spline_margin_model.py
index 50af051c3c8a38c7bae78c728751af7e89bb1fa0..20d758007585d708c58a9b463058b7de1f85ad4f 100644
--- a/extreme_fit/model/margin_model/spline_margin_model.py
+++ b/extreme_fit/model/margin_model/spline_margin_model.py
@@ -1,8 +1,8 @@
 from typing import Dict, List
 
-from extreme_fit.model.margin_model.margin_function.spline_margin_function import SplineMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef, KnotCoef, \
+from extreme_fit.function.margin_function.spline_margin_function import SplineMarginFunction
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef, KnotCoef, \
     PolynomialCoef
 from extreme_fit.model.margin_model.parametric_margin_model import ParametricMarginModel
 from extreme_fit.distribution.gev.gev_params import GevParams
diff --git a/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py b/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
index 559dae4f8528f162ee2c6ba38905fe911bd1f26b..fa6208135ee2586cf0f89fe95287cc85242d089a 100644
--- a/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
+++ b/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
@@ -3,11 +3,11 @@ from typing import List
 import numpy as np
 from cached_property import cached_property
 
-from experiment.eurocode_data.utils import EUROCODE_QUANTILE, YEAR_OF_INTEREST_FOR_RETURN_LEVEL
+from experiment.eurocode_data.utils import EUROCODE_QUANTILE
 from extreme_fit.distribution.gev.gev_params import GevParams
 from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import LinearMarginEstimator
 from extreme_fit.estimator.utils import load_margin_function
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.result_from_model_fit.result_from_extremes.result_from_bayesian_extremes import \
     ResultFromBayesianExtremes
 from extreme_fit.model.result_from_model_fit.result_from_extremes.result_from_mle_extremes import ResultFromMleExtremes
diff --git a/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py b/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
index ed7156a455e580af9ac035885b15746610a54383..7cfe8351252d840f102990ce91f1f0240edf17c4 100644
--- a/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
+++ b/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
@@ -2,7 +2,7 @@ from typing import Dict
 
 import numpy as np
 
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import \
     AbstractResultFromModelFit
 
diff --git a/extreme_fit/model/result_from_model_fit/utils.py b/extreme_fit/model/result_from_model_fit/utils.py
index d98b6b5375c65b4454bf084860b173917477333e..1bb34aae51a0fc4bb4a0018fecd45a3b37702d38 100644
--- a/extreme_fit/model/result_from_model_fit/utils.py
+++ b/extreme_fit/model/result_from_model_fit/utils.py
@@ -3,7 +3,7 @@ from collections import OrderedDict
 import numpy as np
 
 from extreme_fit.distribution.gev.gev_params import GevParams
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/test/test_extreme_fit/test_model/test_margin_function.py b/test/test_extreme_fit/test_model/test_margin_function.py
index 6f9e2b0baa6e4c8cd1e8278d059cf70dbfce9ff4..622d3a41c9c401b9e80ca3ffe1f470b910969df6 100644
--- a/test/test_extreme_fit/test_model/test_margin_function.py
+++ b/test/test_extreme_fit/test_model/test_margin_function.py
@@ -3,9 +3,9 @@ import unittest
 import numpy as np
 
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearAllParametersAllDimsMarginModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from spatio_temporal_dataset.coordinates.spatial_coordinates.coordinates_2D import LinSpaceSpatial2DCoordinates
 from test.test_utils import load_test_spatiotemporal_coordinates