diff --git a/pyproject.toml b/pyproject.toml
index 17de555a7d427c7503656f0e8117e3a5ebfb9097..67a3a5c7777a88a741c3b7904db462bcb587d5ba 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "h5schemas"
-version = "0.1.17"
+version = "0.1.18"
 description = "Add your description here"
 readme = "README.md"
 authors = [
diff --git a/src/h5schemas/load_utilities/__init__.py b/src/h5schemas/load_utilities/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/h5schemas/load_utilities/vectors.py b/src/h5schemas/load_utilities/vectors.py
new file mode 100644
index 0000000000000000000000000000000000000000..637c8097b250f6b50dfea30e1712ec7b90db5953
--- /dev/null
+++ b/src/h5schemas/load_utilities/vectors.py
@@ -0,0 +1,37 @@
+import numpy as np
+from h5py import Group
+from dataclasses import dataclass
+from typing import ClassVar, Literal
+
+
+
+@dataclass
+class CommonVectors:
+    UV: ClassVar[list[str]] = ['u', 'v']
+    XYZ: ClassVar[list[str]] = ['x', 'y', 'z']
+    QUAT: ClassVar[list[str]] = ['x', 'y', 'z', 'w']
+
+
+UVElement = Literal['u', 'v']
+XYZElement = Literal['x', 'y', 'z']
+QUATElement = Literal['x', 'y', 'z', 'w']
+VectorElement = Literal[UVElement, XYZElement, QUATElement]
+
+
+def extract_vector(h5_group: Group, indices: slice, dataset_list: list[VectorElement]):
+    extracted_data = np.stack(
+        [h5_group[element][indices] for element in dataset_list],
+        axis=-1
+    )
+    return extracted_data
+
+
+
+if __name__ == '__main__':
+    from h5py import File
+
+
+    test_file = File("./examples/projection_geometry.h5", "r")
+
+    detector_center_position_mm = extract_vector(test_file['detector_center_position_mm'], slice(2), CommonVectors.XYZ)
+    print(detector_center_position_mm)
\ No newline at end of file
diff --git a/src/h5schemas/projection/overwrite_projection.py b/src/h5schemas/projection/overwrite_projection.py
index ab344989c6c6867dcaf8d57f64d73a4bac01f8bc..2b043535796632bee0b83b4673cf4774d2539ad6 100644
--- a/src/h5schemas/projection/overwrite_projection.py
+++ b/src/h5schemas/projection/overwrite_projection.py
@@ -8,7 +8,6 @@ from h5schemas.projection_geometry.overwrite_projection_geometry import overwrit
 from h5schemas.source.overwrite_source import overwrite_source_at_index
 
 
-
 def overwrite_projection_at_index(
     h5_file: File,
     index: int,
@@ -25,6 +24,7 @@ def overwrite_projection_at_index(
     uuid, timestamp = check_uuid_time_stamp(uuid, timestamp)
     overwrite_image_at_index(h5_file["/image"], index, image, uuid, timestamp)
 
+
     overwrite_projection_geometry_at_index(
         h5_file["/projection_geometry"],
         index,