diff --git a/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py b/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py
index 0088fe8be66c0a61f9c182a5bdad83153d3684ba..ce027028658db1b36cdc42f9d431ac6f22abe9bd 100644
--- a/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py
+++ b/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py
@@ -49,7 +49,7 @@ class LateralContributionAdisTS(SQLSubModel):
         self._begin_kp = 0.0
         self._end_kp = 0.0
         self._data = []
-        self._header = []
+        self._header = ["time", "rate"]
         self._types = [float, float]
 
         LateralContributionAdisTS._id_cnt = max(
diff --git a/src/View/BoundaryConditionsAdisTS/Edit/UndoCommand.py b/src/View/BoundaryConditionsAdisTS/Edit/UndoCommand.py
index dbca067eb07571c0ab5db6b4aa1417239332cc28..a706207785bef44dc23e8c87dc3ec97cab0849f6 100644
--- a/src/View/BoundaryConditionsAdisTS/Edit/UndoCommand.py
+++ b/src/View/BoundaryConditionsAdisTS/Edit/UndoCommand.py
@@ -45,13 +45,13 @@ class SetDataCommand(QUndoCommand):
         if self._column == 0:
             self._data._data[self._index] = (self._old,self._data._data[self._index][1])
         else:
-            self._data._data[self._index] = (self._data._data[self._index][1], self._old)
+            self._data._data[self._index] = (self._data._data[self._index][0], self._old)
 
     def redo(self):
         if self._column == 0:
             self._data._data[self._index] = (self._new,self._data._data[self._index][1])
         else:
-            self._data._data[self._index] = (self._data._data[self._index][1], self._new)
+            self._data._data[self._index] = (self._data._data[self._index][0], self._new)
 
 class AddCommand(QUndoCommand):
     def __init__(self, data, index):
@@ -84,7 +84,7 @@ class DelCommand(QUndoCommand):
 
     def undo(self):
         for row, el in self._bc:
-            self._data.insert(row, el)
+            self._data._data.insert(row, el)
 
     def redo(self):
         for row in self._rows:
diff --git a/src/View/LateralContributionsAdisTS/Edit/Plot.py b/src/View/LateralContributionsAdisTS/Edit/Plot.py
index 5405a501315a74c96839b2c6c27b8ce81355a792..9d10b5e0ea9cbe27275fe5a93448c65b96003833 100644
--- a/src/View/LateralContributionsAdisTS/Edit/Plot.py
+++ b/src/View/LateralContributionsAdisTS/Edit/Plot.py
@@ -31,7 +31,6 @@ _translate = QCoreApplication.translate
 
 logger = logging.getLogger()
 
-
 class Plot(PamhyrPlot):
     def __init__(self, mode="time", data=None,
                  trad=None, canvas=None, toolbar=None,
diff --git a/src/View/LateralContributionsAdisTS/Edit/Table.py b/src/View/LateralContributionsAdisTS/Edit/Table.py
index c0ab3b4450d50c010aa67348e529673a7dd4896a..303343e752ee3cecdf9ef159e05403e1a349bde7 100644
--- a/src/View/LateralContributionsAdisTS/Edit/Table.py
+++ b/src/View/LateralContributionsAdisTS/Edit/Table.py
@@ -39,16 +39,11 @@ from PyQt5.QtWidgets import (
     QTimeEdit, QDateTimeEdit, QItemDelegate,
 )
 
-from Model.LateralContribution.LateralContributionTypes import (
-    NotDefined, LateralContrib, Rain, Evaporation,
-)
 
-from View.LateralContribution.Edit.UndoCommand import (
+from View.LateralContributionsAdisTS.Edit.UndoCommand import (
     SetDataCommand, AddCommand, DelCommand,
-    SortCommand, MoveCommand, PasteCommand,
-    DuplicateCommand,
 )
-from View.LateralContribution.Edit.translate import *
+from View.LateralContributionsAdisTS.Edit.translate import *
 
 _translate = QCoreApplication.translate
 
@@ -69,8 +64,8 @@ class TableModel(PamhyrTableModel):
         value = QVariant()
 
         if 0 <= column < 2:
-            v = self._data.get_i(row)[column]
-            if self._data.get_type_column(column) == float:
+            v = self._data._data[row][column]
+            if self._data._types[column] == float:
                 value = f"{v:.4f}"
             elif self._data.header[column] == "time":
                 if self._opt_data == "time":
@@ -125,69 +120,3 @@ class TableModel(PamhyrTableModel):
 
         self.endRemoveRows()
 
-    def sort(self, _reverse, parent=QModelIndex()):
-        self.layoutAboutToBeChanged.emit()
-
-        self._undo.push(
-            SortCommand(
-                self._data, _reverse
-            )
-        )
-
-        self.layoutAboutToBeChanged.emit()
-        self.layoutChanged.emit()
-
-    def move_up(self, row, parent=QModelIndex()):
-        if row <= 0:
-            return
-
-        target = row + 2
-
-        self.beginMoveRows(parent, row - 1, row - 1, parent, target)
-
-        self._undo_stack.push(
-            MoveCommand(
-                self._data, "up", row
-            )
-        )
-
-        self.endMoveRows()
-        self.layoutChanged.emit()
-
-    def move_down(self, index, parent=QModelIndex()):
-        if row > len(self._data):
-            return
-
-        target = row
-
-        self.beginMoveRows(parent, row + 1, row + 1, parent, target)
-
-        self._undo_stack.push(
-            MoveCommand(
-                self._data, "down", row
-            )
-        )
-
-        self.endMoveRows()
-        self.layoutChanged.emit()
-
-    def paste(self, row, header, data):
-        if len(data) == 0:
-            return
-
-        self.layoutAboutToBeChanged.emit()
-
-        self._undo.push(
-            PasteCommand(
-                self._data, row,
-                list(
-                    map(
-                        lambda d: self._data.new_from_data(header, d),
-                        data
-                    )
-                )
-            )
-        )
-
-        self.layoutAboutToBeChanged.emit()
-        self.layoutChanged.emit()
diff --git a/src/View/LateralContributionsAdisTS/Edit/UndoCommand.py b/src/View/LateralContributionsAdisTS/Edit/UndoCommand.py
index d56c63821bee182db245a8b73d0559549e049cbb..d09f5809949807e988a2db001c72642843971044 100644
--- a/src/View/LateralContributionsAdisTS/Edit/UndoCommand.py
+++ b/src/View/LateralContributionsAdisTS/Edit/UndoCommand.py
@@ -23,7 +23,7 @@ from PyQt5.QtWidgets import (
     QMessageBox, QUndoCommand, QUndoStack,
 )
 
-from Model.LateralContribution.LateralContribution import LateralContribution
+from Model.LateralContributionsAdisTS.LateralContributionAdisTS import LateralContributionAdisTS
 
 
 class SetDataCommand(QUndoCommand):
@@ -33,15 +33,21 @@ class SetDataCommand(QUndoCommand):
         self._data = data
         self._index = index
         self._column = column
-        self._old = self._data.get_i(self._index)[self._column]
-        _type = self._data.get_type_column(self._column)
+        self._old = self._data._data[self._index][self._column]
+        _type = self._data._types[self._column]
         self._new = _type(new_value)
 
     def undo(self):
-        self._data._set_i_c_v(self._index, self._column, self._old)
+        if self._column == 0:
+            self._data._data[self._index] = (self._old, self._data._data[self._index][1])
+        else:
+            self._data._data[self._index] = (self._data._data[self._index][0], self._old)
 
     def redo(self):
-        self._data._set_i_c_v(self._index, self._column, self._new)
+        if self._column == 0:
+            self._data._data[self._index] = (self._new, self._data._data[self._index][1])
+        else:
+            self._data._data[self._index] = (self._data._data[self._index][0], self._new)
 
 
 class AddCommand(QUndoCommand):
@@ -53,14 +59,13 @@ class AddCommand(QUndoCommand):
         self._new = None
 
     def undo(self):
-        self._data.delete_i([self._index])
+        del self._data._data[self._index]
 
     def redo(self):
         if self._new is None:
-            self._new = self._data.add(self._index)
+            self._new = self._data._data.insert(self._index, (self._data._types[0](0), self._data._types[1](0.0)))
         else:
-            self._data.insert(self._index, self._new)
-
+            self._data._data.insert(self._index, self._new)
 
 class DelCommand(QUndoCommand):
     def __init__(self, data, rows):
@@ -71,98 +76,13 @@ class DelCommand(QUndoCommand):
 
         self._lc = []
         for row in rows:
-            self._lc.append((row, self._data.get_i(row)))
+            self._lc.append((row, self._data._data[row]))
         self._lc.sort()
 
     def undo(self):
         for row, el in self._lc:
-            self._data.insert(row, el)
-
-    def redo(self):
-        self._data.delete_i(self._rows)
-
-
-class SortCommand(QUndoCommand):
-    def __init__(self, data, _reverse):
-        QUndoCommand.__init__(self)
-
-        self._data = data
-        self._reverse = _reverse
-
-        self._old = self._data.data
-        self._indexes = None
-
-    def undo(self):
-        ll = self._data.data
-        self._data.sort(
-            key=lambda x: self._indexes[ll.index(x)]
-        )
-
-    def redo(self):
-        self._data.sort(
-            _reverse=self._reverse,
-            key=lambda x: x[0]
-        )
-        if self._indexes is None:
-            self._indexes = list(
-                map(
-                    lambda p: self._old.index(p),
-                    self._data.data
-                )
-            )
-            self._old = None
-
-
-class MoveCommand(QUndoCommand):
-    def __init__(self, data, up, i):
-        QUndoCommand.__init__(self)
-
-        self._data = data
-        self._up = up == "up"
-        self._i = i
-
-    def undo(self):
-        if self._up:
-            self._data.move_up(self._i)
-        else:
-            self._data.move_down(self._i)
-
-    def redo(self):
-        if self._up:
-            self._data.move_up(self._i)
-        else:
-            self._data.move_down(self._i)
-
-
-class PasteCommand(QUndoCommand):
-    def __init__(self, data, row, lcs):
-        QUndoCommand.__init__(self)
-
-        self._data = data
-        self._row = row
-        self._lcs = lcs
-        self._lcs.reverse()
-
-    def undo(self):
-        self._data.delete(self._lcs)
-
-    def redo(self):
-        for bc in self._lcs:
-            self._data.insert(self._row, bc)
-
-
-class DuplicateCommand(QUndoCommand):
-    def __init__(self, data, rows, bc):
-        QUndoCommand.__init__(self)
-
-        self._data = data
-        self._rows = rows
-        self._lc = deepcopy(bc)
-        self._lc.reverse()
-
-    def undo(self):
-        self._data.delete(self._lc)
+            self._data._data.insert(row, el)
 
     def redo(self):
-        for bc in self._lcs:
-            self._data.insert(self._rows[0], bc)
+        for row in self._rows:
+            del self._data._data[row]
diff --git a/src/View/LateralContributionsAdisTS/Edit/Window.py b/src/View/LateralContributionsAdisTS/Edit/Window.py
index 53c774cb51f6bfcb3a3c38c370d79a964010ac61..b0ebea2295ecb08e2787a1c03b64b3333c66d578 100644
--- a/src/View/LateralContributionsAdisTS/Edit/Window.py
+++ b/src/View/LateralContributionsAdisTS/Edit/Window.py
@@ -39,16 +39,16 @@ from PyQt5.QtWidgets import (
 from View.Tools.Plot.PamhyrCanvas import MplCanvas
 from View.Tools.Plot.PamhyrToolbar import PamhyrPlotToolbar
 
-from View.LateralContribution.Edit.translate import LCETranslate
-from View.LateralContribution.Edit.Table import TableModel
-from View.LateralContribution.Edit.Plot import Plot
+from View.LateralContributionsAdisTS.Edit.translate import LCETranslate
+from View.LateralContributionsAdisTS.Edit.Table import TableModel
+from View.LateralContributionsAdisTS.Edit.Plot import Plot
 
 _translate = QCoreApplication.translate
 
 
-class EditLateralContributionWindow(PamhyrWindow):
-    _pamhyr_ui = "EditLateralContribution"
-    _pamhyr_name = "Edit lateral contribution"
+class EditLateralContributionAdisTSWindow(PamhyrWindow):
+    _pamhyr_ui = "EditLateralContributionAdisTS"
+    _pamhyr_name = "Edit lateral contribution AdisTS"
 
     def __init__(self, data=None,
                  study=None, config=None,
@@ -57,17 +57,8 @@ class EditLateralContributionWindow(PamhyrWindow):
 
         trad = LCETranslate()
         name = trad[self._pamhyr_name]
-        if self._data is not None:
-            edge_name = (self._data.edge.name if self._data.edge is not None
-                         else trad['not_associated'])
-            name += (
-                f" - {study.name} " +
-                f" - {self._data.name} ({self._data.id}) " +
-                f"({trad.get_dict('long_types')[self._data.lctype]} - " +
-                f"{edge_name})"
-            )
 
-        super(EditLateralContributionWindow, self).__init__(
+        super(EditLateralContributionAdisTSWindow, self).__init__(
             title=name,
             study=study,
             config=config,
@@ -75,6 +66,17 @@ class EditLateralContributionWindow(PamhyrWindow):
             parent=parent
         )
 
+        if self._data is not None:
+            if self._data.edge is not None:
+                edge_name = next(filter(lambda edge: edge.id == self._data.edge, self._study.river.edges())).name
+            else:
+                edge_name = trad['not_associated']
+
+            name += (
+                f"{study.name} - " +
+                f"{edge_name})"
+            )
+
         self._hash_data.append(data)
 
         self.setup_table()
@@ -134,7 +136,6 @@ class EditLateralContributionWindow(PamhyrWindow):
     def setup_connections(self):
         self.find(QAction, "action_add").triggered.connect(self.add)
         self.find(QAction, "action_del").triggered.connect(self.delete)
-        self.find(QAction, "action_sort").triggered.connect(self.sort)
 
         self._table.dataChanged.connect(self.update)
 
@@ -176,46 +177,6 @@ class EditLateralContributionWindow(PamhyrWindow):
         self._table.delete(rows)
         self.plot.update()
 
-    def sort(self):
-        self._table.sort(False)
-        self.plot.update()
-
-    def move_up(self):
-        row = self.index_selected_row()
-        self._table.move_up(row)
-        self.plot.update()
-
-    def move_down(self):
-        row = self.index_selected_row()
-        self._table.move_down(row)
-        self.plot.update()
-
-    def _copy(self):
-        rows = self.index_selected_rows()
-
-        table = []
-        table.append(self._data.header)
-
-        data = self._data.data
-        for row in rows:
-            table.append(list(data[row]))
-
-        self.copyTableIntoClipboard(table)
-
-    def _paste(self):
-        header, data = self.parseClipboardTable()
-
-        if len(data) == 0:
-            return
-
-        row = 0
-        rows = self.index_selected_rows()
-        if len(rows) != 0:
-            row = rows[0]
-
-        self._table.paste(row, header, data)
-        self.plot.update()
-
     def _undo(self):
         self._table.undo()
         self.plot.update()
diff --git a/src/View/LateralContributionsAdisTS/Edit/translate.py b/src/View/LateralContributionsAdisTS/Edit/translate.py
index eeb889304838a4b75339bfdcb481d6de96e55b4c..2974577f7b815e66b1ccdffb2ce6e31fa7e082f2 100644
--- a/src/View/LateralContributionsAdisTS/Edit/translate.py
+++ b/src/View/LateralContributionsAdisTS/Edit/translate.py
@@ -19,7 +19,7 @@
 from PyQt5.QtCore import QCoreApplication
 
 from View.Translate import MainTranslate
-from View.LateralContribution.translate import LCTranslate
+from View.LateralContributionsAdisTS.translate import LCTranslate
 
 _translate = QCoreApplication.translate
 
@@ -27,15 +27,12 @@ _translate = QCoreApplication.translate
 class LCETranslate(LCTranslate):
     def __init__(self):
         super(LCETranslate, self).__init__()
-        self._dict["Edit lateral contribution"] = _translate(
-            "LateralContribution", "Edit lateral contribution"
+        self._dict["Edit lateral contribution AdisTS"] = _translate(
+            "LateralContributionAdisTS", "Edit lateral contribution AdisTS"
         )
 
         self._sub_dict["table_headers"] = {
-            "x": _translate("LateralContribution", "X"),
-            "y": _translate("LateralContribution", "Y"),
             "time": self._dict["time"],
             "date": self._dict["date"],
-            "discharge": self._dict["unit_discharge"],
-            "z": self._dict["unit_elevation"],
+            "rate": _translate("LateralContributionAdisTS", "Mass Flow"),
         }
diff --git a/src/View/LateralContributionsAdisTS/Window.py b/src/View/LateralContributionsAdisTS/Window.py
index 3f6a9988b559a12e84826681ee87ff980137a26e..9a9c16854f39388fcd8a14904bbbebb5451663d4 100644
--- a/src/View/LateralContributionsAdisTS/Window.py
+++ b/src/View/LateralContributionsAdisTS/Window.py
@@ -48,7 +48,7 @@ from View.Geometry.PlotXY import PlotXY
 from View.LateralContributionsAdisTS.translate import (
     LCTranslate,
 )
-from View.LateralContributionsAdisTS.Edit.Window import EditLateralContributionWindow
+from View.LateralContributionsAdisTS.Edit.Window import EditLateralContributionAdisTSWindow
 
 logger = logging.getLogger()
 
@@ -136,7 +136,6 @@ class LateralContributionAdisTSWindow(PamhyrWindow):
         self.find(QAction, "action_add").triggered.connect(self.add)
         self.find(QAction, "action_del").triggered.connect(self.delete)
         self.find(QAction, "action_edit").triggered.connect(self.edit)
-        self.find(QAction, "action_sort").triggered.connect(self.sort)
 
         table = self.find(QTableView, f"tableView")
         table.selectionModel()\
@@ -233,18 +232,17 @@ class LateralContributionAdisTSWindow(PamhyrWindow):
         self._set_current_reach()
 
     def edit(self):
-        tab = self.current_tab()
         rows = self.index_selected_rows()
         for row in rows:
-            data = self._lcs.get(tab, row)
+            data = self._lcs.lst[row]
 
             if self.sub_window_exists(
-                EditLateralContributionWindow,
+                EditLateralContributionAdisTSWindow,
                 data=[self._study, None, data]
             ):
                 continue
 
-            win = EditLateralContributionWindow(
+            win = EditLateralContributionAdisTSWindow(
                 data=data,
                 study=self._study,
                 parent=self
diff --git a/src/View/ui/EditLateralContributionAdisTS.ui b/src/View/ui/EditLateralContributionAdisTS.ui
new file mode 100644
index 0000000000000000000000000000000000000000..8b9f006b60513053d508240d409a0c69de9aa89d
--- /dev/null
+++ b/src/View/ui/EditLateralContributionAdisTS.ui
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>450</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <property name="locale">
+   <locale language="English" country="Europe"/>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QSplitter" name="splitter">
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="orientation">
+       <enum>Qt::Horizontal</enum>
+      </property>
+      <widget class="QTableView" name="tableView"/>
+      <widget class="QWidget" name="verticalLayoutWidget">
+       <layout class="QVBoxLayout" name="verticalLayout"/>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>22</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QToolBar" name="toolBar">
+   <property name="windowTitle">
+    <string>toolBar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="action_add"/>
+   <addaction name="action_del"/>
+  </widget>
+  <action name="action_add">
+   <property name="checkable">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>ressources/add.png</normaloff>ressources/add.png</iconset>
+   </property>
+   <property name="text">
+    <string>Add</string>
+   </property>
+   <property name="toolTip">
+    <string>Add a new point in boundary condition or lateral contribution</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+N</string>
+   </property>
+  </action>
+  <action name="action_del">
+   <property name="icon">
+    <iconset>
+     <normaloff>ressources/del.png</normaloff>ressources/del.png</iconset>
+   </property>
+   <property name="text">
+    <string>Delete</string>
+   </property>
+   <property name="toolTip">
+    <string>Delete current selected rows</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+D</string>
+   </property>
+  </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/View/ui/LateralContributionsAdisTS.ui b/src/View/ui/LateralContributionsAdisTS.ui
index cc1b9f16175fe58a1dd3db04a8322f7cdaed9e6b..3ac8806c4d313c6bf54f1dda9408524c7640107a 100644
--- a/src/View/ui/LateralContributionsAdisTS.ui
+++ b/src/View/ui/LateralContributionsAdisTS.ui
@@ -69,7 +69,6 @@
    <addaction name="action_add"/>
    <addaction name="action_del"/>
    <addaction name="action_edit"/>
-   <addaction name="action_sort"/>
   </widget>
   <action name="action_add">
    <property name="checkable">
@@ -119,18 +118,6 @@
     <string>Ctrl+E</string>
    </property>
   </action>
-  <action name="action_sort">
-   <property name="icon">
-    <iconset>
-     <normaloff>ressources/sort_A-Z.png</normaloff>ressources/sort_A-Z.png</iconset>
-   </property>
-   <property name="text">
-    <string>Sort</string>
-   </property>
-   <property name="toolTip">
-    <string>Sort boundary condition by name</string>
-   </property>
-  </action>
  </widget>
  <resources/>
  <connections/>
diff --git a/tests_cases/Enlargement/Enlargement.pamhyr b/tests_cases/Enlargement/Enlargement.pamhyr
index 6dc4a66a947b1dc12e17f996a08f4142ebdcc3bc..7cbb7e4ffefc175307429c2d8af87987164093b8 100644
Binary files a/tests_cases/Enlargement/Enlargement.pamhyr and b/tests_cases/Enlargement/Enlargement.pamhyr differ