diff --git a/skais/ais/ais_points.py b/skais/ais/ais_points.py
index 470562df91848b6f1398600a32ac850d0c85b80b..3367cfd7e489cd913b5e0de2101eb35063ef7676 100644
--- a/skais/ais/ais_points.py
+++ b/skais/ais/ais_points.py
@@ -2,8 +2,6 @@ import numpy as np
 import pandas as pd
 from scipy.stats import stats
 
-from skais.ais.ais_trajectory import AISTrajectory
-
 
 # def compute_trajectories(df, time_gap, min_size=50, size_limit=500, interpolation_time=None):
 #     n_sample = len(df.index)
@@ -108,18 +106,6 @@ class AISPoints:
         self.df["drift"] = self.df.apply(lambda x: 180 - abs(abs(x['heading'] - x['cog']) - 180),
                                          axis=1)
 
-    # Trajectories
-    """
-        Separates AISPoints into individual trajectories
-    """
-
-    def get_trajectories(self):
-        trajectories = []
-        for mmsi in self.df.mmsi.unique():
-            trajectories.append(AISTrajectory(self.df[self.df['mmsi'] == mmsi].reset_index(drop=True)))
-
-        return trajectories
-
     # Static methods
     @staticmethod
     def fuse(*args):
diff --git a/skais/process/ais_operations.py b/skais/process/ais_operations.py
new file mode 100644
index 0000000000000000000000000000000000000000..1075fd079ec6cfdc1bf7190c01428caaf8e049fc
--- /dev/null
+++ b/skais/process/ais_operations.py
@@ -0,0 +1,14 @@
+from skais.ais.ais_trajectory import AISTrajectory
+
+# Trajectories
+"""
+    Separates AISPoints into individual trajectories
+"""
+
+
+def get_trajectories(ais_points):
+    trajectories = []
+    for mmsi in ais_points.df.mmsi.unique():
+        trajectories.append(AISTrajectory(ais_points.df[ais_points.df['mmsi'] == mmsi].reset_index(drop=True)))
+
+    return trajectories
diff --git a/skais/tests/ais/test_ais_points.py b/skais/tests/ais/test_ais_points.py
index 48d8c01894a7579208910f029c7fcb5cf1764f0d..eea6ea7fa877f46d30d6fafd9426313285a4ade8 100644
--- a/skais/tests/ais/test_ais_points.py
+++ b/skais/tests/ais/test_ais_points.py
@@ -179,38 +179,6 @@ class TestAISPositions(unittest.TestCase):
                                                       40, 30, 20, 10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110,
                                                       120, 130, 140, 150, 160, 170]))
 
-    def test_get_trajectories(self):
-        ais_points = AISPoints(
-            pd.DataFrame(
-                {
-                    "mmsi": [123456789 for _ in range(10)] + [987654321 for _ in range(10)],
-                    "ts_sec": [i for i in range(20)]
-                }
-            )
-        )
-
-        expected = [
-            AISTrajectory(
-                pd.DataFrame(
-                    {
-                        "mmsi": [123456789 for _ in range(10)],
-                        "ts_sec": [i for i in range(10)]
-                    }
-                )
-            ),
-            AISTrajectory(
-                pd.DataFrame(
-                    {
-                        "mmsi": [987654321 for _ in range(10)],
-                        "ts_sec": [10+ i for i in range(10)]
-                    }
-                )
-            )
-        ]
-
-        for expected_trajectory, result_trajectory in zip(expected, ais_points.get_trajectories()):
-            pd.testing.assert_frame_equal(expected_trajectory.df, result_trajectory.df)
-
     # def test_histogram_no_label_simple(self):
     #     result = np.histogramdd(self.ais_points.df[["sog", "diff"]].to_numpy(), 3, [[0, 30], [0, 180]])[0]
     #