diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 59a1fc1d6ca3cc6cd3142b2a93458c1db78f3644..4db3503f256b38696e49dc1c0938250216ccb113 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,9 +28,11 @@ stages:
   - cd $CI_PROJECT_DIR
 
   # configure git
-  - export CI_NEW_BRANCH=ci_processing$RANDOM
+  - if [ `git rev-parse --verify ci_processing 2>/dev/null` ]; then
+  -   git branch --delete ci_processing
+  - fi
+  - export CI_NEW_BRANCH=ci_processing
   - echo creating new temporary branch... $CI_NEW_BRANCH
-  #- export CI_NEW_BRANCH=ci_processing$CI_COMMIT_SHORT_SHA
   - git config --global user.email "${CI_EMAIL}"
   - git config --global user.name "${CI_USERNAME}"
   - git checkout -b $CI_NEW_BRANCH # temporary branch
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d24dbbd7f57745ed7f96755391238b068b07352c..2866fb9ffa6c1195902068b290edaf6ef5371815 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@
 MESSAGE("Starting gnss-utils CMakeLists ...")
 
 # Pre-requisites about cmake itself
-CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
 
 # MAC OSX RPATH
 set(CMAKE_MACOSX_RPATH true)
diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h
index f00d1be6272aa98f8e80de8c1262783b2d7b89ad..45c2972eed028bb4bb5cb32c19b1afdefdf21a62 100644
--- a/include/gnss_utils/gnss_utils.h
+++ b/include/gnss_utils/gnss_utils.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/navigation.h b/include/gnss_utils/navigation.h
index ca4580b8fa9f61230477df71797f701c67ad0189..07535c4c9806866e1e3287698af398a34e617888 100644
--- a/include/gnss_utils/navigation.h
+++ b/include/gnss_utils/navigation.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/observations.h b/include/gnss_utils/observations.h
index 52b66bff06e0870ecd968b453feb4bdf6a98a116..53ff2b8a900bd19a3444216941ff3d149fc8a6b7 100644
--- a/include/gnss_utils/observations.h
+++ b/include/gnss_utils/observations.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/range.h b/include/gnss_utils/range.h
index d783793f6024859988bd867caab49ac6c274264f..54bfd9c9ed5a0cd9c2fec8a9c35820b3f04f4f93 100644
--- a/include/gnss_utils/range.h
+++ b/include/gnss_utils/range.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/receiver_raw_base.h b/include/gnss_utils/receiver_raw_base.h
index 01161ed0747bea499e5490521da407e231b90c61..bf7c8e8a53cdeb1956f6ac735852f5d97f072e02 100644
--- a/include/gnss_utils/receiver_raw_base.h
+++ b/include/gnss_utils/receiver_raw_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/receivers/novatel_raw.h b/include/gnss_utils/receivers/novatel_raw.h
index d27680351c47f5d937631d7ad9d625f7219df89f..fe2222710c630bc12d5d86fe7d555288eed28136 100644
--- a/include/gnss_utils/receivers/novatel_raw.h
+++ b/include/gnss_utils/receivers/novatel_raw.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/receivers/ublox_raw.h b/include/gnss_utils/receivers/ublox_raw.h
index 7cf92bbceba357f5af314bc72ed321cdf0e6d59e..25e1c6f3be8f5567153f07228dc58c1e2afd69a9 100644
--- a/include/gnss_utils/receivers/ublox_raw.h
+++ b/include/gnss_utils/receivers/ublox_raw.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/snapshot.h b/include/gnss_utils/snapshot.h
index 2381038cfd24efd7151bcbeca8017badc12e24dc..27307485809605c450205815da1e6c6451fc0d65 100644
--- a/include/gnss_utils/snapshot.h
+++ b/include/gnss_utils/snapshot.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/tdcp.h b/include/gnss_utils/tdcp.h
index 04a5748455e57ed1b018bd1df678b0ec47f983c4..fbf308a5ceff340fbda4fd5f7adf6a8ea871b104 100644
--- a/include/gnss_utils/tdcp.h
+++ b/include/gnss_utils/tdcp.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/chisquare_ci.h b/include/gnss_utils/utils/chisquare_ci.h
index 29e2d44d4823a5bffa78411cb2ce65949dcd1622..7ffabc1b46ee556bd3a290788c4ed55863b2a9c1 100644
--- a/include/gnss_utils/utils/chisquare_ci.h
+++ b/include/gnss_utils/utils/chisquare_ci.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/chisquare_ci_maps.h b/include/gnss_utils/utils/chisquare_ci_maps.h
index c3413ff8ea5f29c0e089f39c9b5bedc0b8de58e3..18bac1303962fcee0e8046e5b84decb32cb7491a 100644
--- a/include/gnss_utils/utils/chisquare_ci_maps.h
+++ b/include/gnss_utils/utils/chisquare_ci_maps.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/rcv_position.h b/include/gnss_utils/utils/rcv_position.h
index bf84a9911387d3b5c834212811f39dd63a3331c5..1b9eaeeb50969ec77fd71e35932bff2353779095 100644
--- a/include/gnss_utils/utils/rcv_position.h
+++ b/include/gnss_utils/utils/rcv_position.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/satellite.h b/include/gnss_utils/utils/satellite.h
index 0162a11eebf598e71f70d082fe15c53cc0298ce5..cd5c5d6e21df6c5d7b6ac628f9e3b9fa39957122 100644
--- a/include/gnss_utils/utils/satellite.h
+++ b/include/gnss_utils/utils/satellite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/transformations.h b/include/gnss_utils/utils/transformations.h
index 0f224d0f21d92016e9adfccfde06d8bb4a1a702e..1ee133fe9343c281b6e44e33df603477836c9bf4 100644
--- a/include/gnss_utils/utils/transformations.h
+++ b/include/gnss_utils/utils/transformations.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/gnss_utils/utils/utils.h b/include/gnss_utils/utils/utils.h
index 7c29dd40319343a388a6b62da45ae1e7b8a266cb..127ae381a5baefeb0b3410bb3b3caf58e7f65782 100644
--- a/include/gnss_utils/utils/utils.h
+++ b/include/gnss_utils/utils/utils.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/scripts/license_header_2022.txt b/scripts/license_header_2024.txt
similarity index 88%
rename from scripts/license_header_2022.txt
rename to scripts/license_header_2024.txt
index 3e36f9be0f73cf4dac051a75d96d72b372fdf464..865809167aa5f5e8d948ffa87a0c74564baa33d6 100644
--- a/scripts/license_header_2022.txt
+++ b/scripts/license_header_2024.txt
@@ -1,4 +1,4 @@
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/examples/gnss_utils_test.cpp b/src/examples/gnss_utils_test.cpp
index a486c5f9ece15974b388b23c0a04b45c5e4bd279..c60eb79254d81b39617f4ca4d23458c8ca55953f 100644
--- a/src/examples/gnss_utils_test.cpp
+++ b/src/examples/gnss_utils_test.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/navigation.cpp b/src/navigation.cpp
index c9d86a92b95700462279c3558dcb4008d913e0df..20532be3a6c24dbd5d5ebddbbaa312895cc39a99 100644
--- a/src/navigation.cpp
+++ b/src/navigation.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/observations.cpp b/src/observations.cpp
index 4df0dbbd1ffafa49cdcd5a5868854426583b60c1..9002dee988cbb49a3cd64f13686c34f389cf02bb 100644
--- a/src/observations.cpp
+++ b/src/observations.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/range.cpp b/src/range.cpp
index e52ee8043c0c40408365ca019af2aa296b671d85..98a0887f23f6ba5cda4d98b6f296ba5d654087f9 100644
--- a/src/range.cpp
+++ b/src/range.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/receiver_raw_base.cpp b/src/receiver_raw_base.cpp
index f21b8e6d05b1fd0a68a333aad2a0abe2132d858a..76f6960741dd00efd3183ab9bc98e128d4bb81cc 100644
--- a/src/receiver_raw_base.cpp
+++ b/src/receiver_raw_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/receivers/novatel_raw.cpp b/src/receivers/novatel_raw.cpp
index aa4de46b21b6ed078c9f12a30eb622aced2201ca..34b6f7de9f0ae68152983cbe2df6bc43e43a3607 100644
--- a/src/receivers/novatel_raw.cpp
+++ b/src/receivers/novatel_raw.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/receivers/ublox_raw.cpp b/src/receivers/ublox_raw.cpp
index b6e03fee2b5d76a9e85172e8dbf403588da79356..22c57e31488d39170102daa1306d30293589d8b3 100644
--- a/src/receivers/ublox_raw.cpp
+++ b/src/receivers/ublox_raw.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/snapshot.cpp b/src/snapshot.cpp
index 9de0e176dbf69b719617016e4b4c44cb8315eb4f..f6689a74acc20ff9c31db33dce048bc621460b21 100644
--- a/src/snapshot.cpp
+++ b/src/snapshot.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/tdcp.cpp b/src/tdcp.cpp
index cb4fc40a7908bca237da9a3d5567e5b06a206af3..6dca496bfb5f7f62dbe09f7ad7acc0cb7425493b 100644
--- a/src/tdcp.cpp
+++ b/src/tdcp.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/rcv_position.cpp b/src/utils/rcv_position.cpp
index 77e66b7f400702d318f5a3c2c438a4b195938791..4848c26bde5588241dbe01d4f0655d6f728472e0 100644
--- a/src/utils/rcv_position.cpp
+++ b/src/utils/rcv_position.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/satellite.cpp b/src/utils/satellite.cpp
index eff1d47d263f8e13ff6b4c8787837c5f8e4b2fcc..ff2e3af67e67d908606ae4890fa36cfcfe33c472 100644
--- a/src/utils/satellite.cpp
+++ b/src/utils/satellite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/transformations.cpp b/src/utils/transformations.cpp
index b1e07d5fd27c756317bca5edc07ceed209a881b4..7b60becd28d3d4dda96b9127298e9571b543cd1e 100644
--- a/src/utils/transformations.cpp
+++ b/src/utils/transformations.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp
index 954a53e44176259261c0c7b6be46e075b4a732c2..f603b2d031864182c2077d38d1952965d8e17a69 100644
--- a/src/utils/utils.cpp
+++ b/src/utils/utils.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 03f45caae714c3b208ec8a8cfa21cdd2d3702a5e..bffa80152ff7deb1a3f773f322a9ad8e7746e5a2 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -4,21 +4,21 @@ add_subdirectory(gtest)
 ############# USE THIS TEST AS AN EXAMPLE ####################
 #                                                            #
 # Create a specific test executable for gtest_example        #
-# gnss_utils_add_gtest(gtest_example gtest_example.cpp)      #
+# add_gtest(gtest_example gtest_example.cpp)                 #
 #                                                            #
 ##############################################################
 
 # Navigation test
-gnss_utils_add_gtest(gtest_navigation gtest_navigation.cpp)
+add_gtest(gtest_navigation gtest_navigation.cpp)
 
 # Observations test
-gnss_utils_add_gtest(gtest_observations gtest_observations.cpp)
+add_gtest(gtest_observations gtest_observations.cpp)
 
 # TDCP test
-gnss_utils_add_gtest(gtest_tdcp gtest_tdcp.cpp)
+add_gtest(gtest_tdcp gtest_tdcp.cpp)
 
 # Transformations test
-gnss_utils_add_gtest(gtest_transformations gtest_transformations.cpp)
+add_gtest(gtest_transformations gtest_transformations.cpp)
 
 # ChiSquare test
-gnss_utils_add_gtest(gtest_chisquare gtest_chisquare.cpp)
\ No newline at end of file
+add_gtest(gtest_chisquare gtest_chisquare.cpp)
\ No newline at end of file
diff --git a/test/gtest/CMakeLists.txt b/test/gtest/CMakeLists.txt
index df2f89d7a9d6130176a814e16074955d8fc435dc..3b52f512ade635f2beb371d13805ab1faefabc82 100644
--- a/test/gtest/CMakeLists.txt
+++ b/test/gtest/CMakeLists.txt
@@ -1,73 +1,15 @@
-if(${CMAKE_VERSION} VERSION_LESS "3.11.0") 
-  message("CMake version less than 3.11.0")
+include(FetchContent)
 
-  # Enable ExternalProject CMake module
-  include(ExternalProject)
+FetchContent_Declare(
+  googletest
+  GIT_REPOSITORY https://github.com/google/googletest.git 
+  GIT_TAG main)
 
-  set(GTEST_FORCE_SHARED_CRT ON)
-  set(GTEST_DISABLE_PTHREADS ON) # without this in ubuntu 18.04 we get linking errors
-  
-  # Download GoogleTest
-  ExternalProject_Add(googletest
-      GIT_REPOSITORY https://github.com/google/googletest.git
-      GIT_TAG        v1.8.x
-      # TIMEOUT 1 # We'll try this
-      CMAKE_ARGS -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=DebugLibs
-      -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=ReleaseLibs
-      -DCMAKE_CXX_FLAGS=${MSVC_COMPILER_DEFS}
-      -Dgtest_force_shared_crt=${GTEST_FORCE_SHARED_CRT}
-      -Dgtest_disable_pthreads=${GTEST_DISABLE_PTHREADS}
-      -DBUILD_GTEST=ON
-      PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
-      # Disable install step
-      INSTALL_COMMAND ""
-      UPDATE_DISCONNECTED 1 # 1: do not update googletest; 0: update googletest via github
-  )
+SET(INSTALL_GTEST OFF) # Disable installation of googletest
+FetchContent_MakeAvailable(googletest)
 
-  # Get GTest source and binary directories from CMake project
-
-  # Specify include dir
-  ExternalProject_Get_Property(googletest source_dir)
-  set(GTEST_INCLUDE_DIRS ${source_dir}/googletest/include PARENT_SCOPE)
-
-  # Specify MainTest's link libraries
-  ExternalProject_Get_Property(googletest binary_dir)
-  set(GTEST_LIBS_DIR ${binary_dir}/googlemock/gtest PARENT_SCOPE)
-
-  # Create a libgtest target to be used as a dependency by test programs
-  add_library(libgtest IMPORTED STATIC GLOBAL)
-  add_dependencies(libgtest googletest)
-
-  # Set libgtest properties
-  set_target_properties(libgtest PROPERTIES
-      "IMPORTED_LOCATION" "${binary_dir}/googlemock/gtest/libgtest.a"
-      "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
-  )
-
-else()
-
-  message("CMake version equal or greater than 3.11.0")
-
-  include(FetchContent)
-
-  FetchContent_Declare(
-    googletest
-    GIT_REPOSITORY https://github.com/google/googletest.git 
-    GIT_TAG v1.8.x)
-
-  SET(INSTALL_GTEST OFF) # Disable installation of googletest
-  FetchContent_MakeAvailable(googletest)
-    
-endif()
-  
-function(gnss_utils_add_gtest target)
+function(add_gtest target)
   add_executable(${target} ${ARGN})
-  if(${CMAKE_VERSION} VERSION_LESS "3.11.0") 
-    add_dependencies(${target} libgtest)
-    target_link_libraries(${target} PUBLIC libgtest ${PROJECT_NAME})
-    target_include_directories(${target} PUBLIC ${GTEST_INCLUDE_DIRS})
-  else()
-    target_link_libraries(${target} PUBLIC gtest_main ${PROJECT_NAME})
-  endif()
+  target_link_libraries(${target} PUBLIC gtest_main ${PROJECT_NAME})
   add_test(NAME ${target} COMMAND ${target})
 endfunction()
diff --git a/test/gtest/utils_gtest.h b/test/gtest/utils_gtest.h
index c4cf21c1624b72671c79bf162bdc67da7ffe9466..439b619d284b1a1ce25e4cea20a71529e35edf57 100644
--- a/test/gtest/utils_gtest.h
+++ b/test/gtest/utils_gtest.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_chisquare.cpp b/test/gtest_chisquare.cpp
index 1c07e12a47b4e9a8f4964f6198a0e7283eef169b..b115cc7da40c1585a615fd4de91313c956485988 100644
--- a/test/gtest_chisquare.cpp
+++ b/test/gtest_chisquare.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_example.cpp b/test/gtest_example.cpp
index c7059c8f4c9bed9b335a8e18cb88c22241964e98..fa8563db6ff304848fd271fb63eecb6fcf125ead 100644
--- a/test/gtest_example.cpp
+++ b/test/gtest_example.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_navigation.cpp b/test/gtest_navigation.cpp
index be3de35ec8cffa98fa3c4d012e1012f0f030d880..e5a623c1dfd3cbfad076c2d6c3a62de8e6ff0412 100644
--- a/test/gtest_navigation.cpp
+++ b/test/gtest_navigation.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_observations.cpp b/test/gtest_observations.cpp
index 6508d77a7209cf190426a50a16b3c770634e7ca7..9bf34ad1b906ebf089fdc13f55ac824047f7c86a 100644
--- a/test/gtest_observations.cpp
+++ b/test/gtest_observations.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_tdcp.cpp b/test/gtest_tdcp.cpp
index 9db8f2b0fb79c9e127bdaa7ef2ca9dd6894e8732..5b1d15246d904c4e037357c1202555cf56ff8703 100644
--- a/test/gtest_tdcp.cpp
+++ b/test/gtest_tdcp.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
@@ -24,6 +24,7 @@
 #include "gnss_utils/snapshot.h"
 #include "gnss_utils/utils/satellite.h"
 #include "gnss_utils/utils/transformations.h"
+#include <iomanip>
 
 using namespace GnssUtils;
 using namespace Eigen;
diff --git a/test/gtest_transformations.cpp b/test/gtest_transformations.cpp
index e2c3d3852d0d2837786dbbe90e4eb9c0a8917fbf..00848dc0f3a8de4413aa8dec68e4fa94f40b9bdc 100644
--- a/test/gtest_transformations.cpp
+++ b/test/gtest_transformations.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023,2024 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //