diff --git a/src/Model/SolverParameters/SolverParametersList.py b/src/Model/SolverParameters/SolverParametersList.py
index 4aae2b377d4569806dc0b7b86b24751ed1a988e5..bff87d69030fe949afe3916478c07b2f3488375d 100644
--- a/src/Model/SolverParameters/SolverParametersList.py
+++ b/src/Model/SolverParameters/SolverParametersList.py
@@ -20,6 +20,7 @@ from copy import copy
 from tools import trace, timer
 from Solver.Solvers import solver_type_list
 
+from Model.Tools.PamhyrList import PamhyrModelList
 from Model.DB import SQLSubModel
 
 class Parameter():
@@ -63,13 +64,13 @@ class Parameter():
 
         return new
 
-class SolverParametersList(SQLSubModel):
+class SolverParametersList(PamhyrModelList):
     def __init__(self, solver_type = None, status = None):
         super(SolverParametersList, self).__init__()
 
         self._status = status
         self._solver = solver_type
-        self._parameters = list(
+        self._lst = list(
             map(
                 lambda t: Parameter.from_tuple(t, self._status),
                 solver_type.default_parameters()
@@ -194,7 +195,7 @@ class SolverParametersList(SQLSubModel):
         )
 
         ind = 0
-        for param in self._parameters:
+        for param in self._lst:
             sql = (
                 "INSERT INTO " +
                 "solver_parameter(ind, name, value, solver) "+
@@ -210,39 +211,36 @@ class SolverParametersList(SQLSubModel):
 
         return True
 
-    def __len__(self):
-        return len(self._parameters)
-
     @property
     def parameters(self):
-        return self._parameters.copy()
+        return self.lst
 
     def get(self, index):
-        return self._parameters[index]
+        return self._lst[index]
 
     def get_by_key(self, key):
         try:
             return next(
                 filter(
                     lambda p: p["name"] == key,
-                    self._parameters
+                    self._lst
                 )
             )["value"]
         except:
             return None
 
     def set(self, index, new):
-        self._parameters[index] = new
+        self._lst[index] = new
         self._status.modified()
 
     def set_value(self, key, value):
-        for p in self._parameters:
+        for p in self._lst:
             if p["name"] == key:
                 p["value"] = value
                 self._status.modified()
                 return
 
-        self._parameters.append(
+        self._lst.append(
             Parameter(
                 name = key,
                 value = value,
@@ -253,47 +251,6 @@ class SolverParametersList(SQLSubModel):
 
     def new(self, index):
         n = Parameter(status = self._status)
-        self._parameters.insert(index, n)
+        self._lst.insert(index, n)
         self._status.modified()
         return n
-
-    def insert(self, index, new):
-        self._parameters.insert(index, new)
-        self._status.modified()
-
-    def delete(self, parameters):
-        for parameter in parameters:
-            self._parameters.remove(parameter)
-        self._status.modified()
-
-    def delete_i(self, indexes):
-        parameters = list(
-            map(
-                lambda x: x[1],
-                filter(
-                    lambda x: x[0] in indexes,
-                    enumerate(self._parameters)
-                )
-            )
-        )
-        self.delete(parameters)
-
-    def sort(self, reverse=False, key=None):
-        self._parameters.sort(reverse=reverse, key=key)
-        self._status.modified()
-
-    def move_up(self, index):
-        if index < len(self._parameters):
-            next = index - 1
-
-            l = self._parameters
-            l[index], l[next] = l[next], l[index]
-            self._status.modified()
-
-    def move_down(self, index):
-        if index >= 0:
-            prev = index + 1
-
-            l = self._parameters
-            l[index], l[prev] = l[prev], l[index]
-            self._status.modified()