diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1df6cec14ad1c41d5462d59993df6b8500cd5e9e..1c47560c9205c5c07da65070bfa746087029e827 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -39,47 +39,50 @@ stages:
   # create 'ci_deps' folder (if not exists)
   - mkdir -pv ci_deps
 
-.license_header_template: &license_header_definition
-  - cd $CI_PROJECT_DIR
-
-  # configure git
-  - export CI_NEW_BRANCH=ci_processing$RANDOM
-  - echo creating new temporary branch... $CI_NEW_BRANCH
-  - git config --global user.email "${CI_EMAIL}"
-  - git config --global user.name "${CI_USERNAME}"
-  - git checkout -b $CI_NEW_BRANCH # temporary branch
-
-  # download license script
-  - if [ -f /ci_deps/license_manager.sh ]; then
-  -   echo "File license_manager.sh already exists."
-  - else
-  -   echo "Downloading file license_manager.sh..."
-  -   wget -P /ci_deps  https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/wolf/-/raw/devel/wolf_scripts/license_manager.sh
-  - fi
-
-  # license headers
-  - export CURRENT_YEAR=$( date +'%Y' )
-  - echo "current year:" ${CURRENT_YEAR}
-  - if [ -f license_header_${CURRENT_YEAR}.txt ]; then
-      # add license headers to new files
-  -   echo "File license_header_${CURRENT_YEAR}.txt already exists. License headers are assumed to be updated. Adding headers to new files..."
-  -   source /ci_deps/license_manager.sh --add --path=. --license-header=license_header_${CURRENT_YEAR}.txt --exclude=ci_deps
-  - else
-      # update license headers of all files
-  -   export PREV_YEAR=$(( CURRENT_YEAR-1 ))
-  -   echo "Creating new file license_header_${CURRENT_YEAR}.txt..."
-  -   git mv license_header_${PREV_YEAR}.txt license_header_${CURRENT_YEAR}.txt
-  -   sed -i "s/${PREV_YEAR}/${PREV_YEAR},${CURRENT_YEAR}/g" license_header_${CURRENT_YEAR}.txt
-  -   source /ci_deps/license_manager.sh --update --path=. --license-header=license_header_${CURRENT_YEAR}.txt --exclude=ci_deps
-  - fi
-
-  # push changes (if any)
-  - if git commit -a -m "[skip ci] license headers added or modified" ; then
-  -   git remote set-url --push origin "ssh://git@gitlab.iri.upc.edu:2202/${CI_PROJECT_PATH}.git"
-  -   git push origin $CI_NEW_BRANCH:${CI_COMMIT_REF_NAME}
-  - else
-  -   echo "No changes, nothing to commit!"
-  - fi
+# .license_header_template: &license_header_definition
+#   - cd $CI_PROJECT_DIR
+
+#   # configure git
+#   - export CI_NEW_BRANCH=ci_processing$RANDOM
+#   - echo creating new temporary branch... $CI_NEW_BRANCH
+#   - git config --global user.email "${CI_EMAIL}"
+#   - git config --global user.name "${CI_USERNAME}"
+#   - git checkout -b $CI_NEW_BRANCH # temporary branch
+
+#   # download license script
+#   - if [ -f /ci_deps/license_manager.sh ]; then
+#   -   echo "File license_manager.sh already exists."
+#   - else
+#   -   echo "Downloading file license_manager.sh..."
+#   -   wget -P /ci_deps  https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/wolf/-/raw/$WOLF_CORE_BRANCH/wolf_scripts/license_manager.sh
+#   - fi
+
+#   # license headers
+#   - export CURRENT_YEAR=$( date +'%Y' )
+#   - echo "current year:" ${CURRENT_YEAR}
+#   - if [ -f license_header_${CURRENT_YEAR}.txt ]; then
+#       # add license headers to new files
+#   -   echo "File license_header_${CURRENT_YEAR}.txt already exists. License headers are assumed to be updated. Adding headers to new files..."
+#   -   source /ci_deps/license_manager.sh --add --path=. --config-path=. --exclude=ci_deps
+#   - else
+#       # remove license headers of all files
+#   -   source /ci_deps/license_manager.sh --remove --path=. --config-path=. --exclude=ci_deps
+#       # update license header
+#   -   export PREV_YEAR=$(( CURRENT_YEAR-1 ))
+#   -   echo "Creating new file license_header_${CURRENT_YEAR}.txt..."
+#   -   git mv license_header_${PREV_YEAR}.txt license_header_${CURRENT_YEAR}.txt
+#   -   sed -i "s/${PREV_YEAR}/${PREV_YEAR},${CURRENT_YEAR}/g" license_header_${CURRENT_YEAR}.txt
+#       # add new license headers to all files
+#   -   source /ci_deps/license_manager.sh --add --path=. --config-path=. --exclude=ci_deps
+#   - fi
+
+#   # push changes (if any)
+#   - if git commit -a -m "[skip ci] license headers added or modified" ; then
+#   -   git remote set-url --push origin "ssh://git@gitlab.iri.upc.edu:2202/${CI_PROJECT_PATH}.git"
+#   -   git push origin $CI_NEW_BRANCH:${CI_COMMIT_REF_NAME}
+#   - else
+#   -   echo "No changes, nothing to commit!"
+#   - fi
 
 .install_yamlschemacpp_template: &install_yamlschemacpp_definition
   - cd ${CI_PROJECT_DIR}/ci_deps
@@ -134,7 +137,8 @@ license_headers:
   before_script:
     - *preliminaries_definition
   script:
-    - *license_header_definition
+    # - *license_header_definition
+    - !reference [.license_header_script]
 
 ############ UBUNTU 18.04 TESTS ############
 build_and_test:bionic:
diff --git a/demos/demo_factor_imu.cpp b/demos/demo_factor_imu.cpp
index f60c57bf58bc9afc03c48ccf878d07a77db486fd..cde7848fc2ad375e5f6fcabae94365679a765a43 100644
--- a/demos/demo_factor_imu.cpp
+++ b/demos/demo_factor_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 //Wolf
 #include <core/ceres_wrapper/solver_ceres.h>
 
diff --git a/demos/demo_imuDock.cpp b/demos/demo_imuDock.cpp
index 17939f7895e87c28c43e0495eb6785fb2fe28291..42f16c70889e7bae1ed253f3129da2734c436c5e 100644
--- a/demos/demo_imuDock.cpp
+++ b/demos/demo_imuDock.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /**
  * \file test_imuDock.cpp
  *
diff --git a/demos/demo_imuDock_autoKFs.cpp b/demos/demo_imuDock_autoKFs.cpp
index 3c38803e1ab593969173c3c29015d1c0b173b993..fbfc3d06f37d4de7432f0d3998700adb891eb2fb 100644
--- a/demos/demo_imuDock_autoKFs.cpp
+++ b/demos/demo_imuDock_autoKFs.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /**
  * \file test_imuDock_autoKFs.cpp
  *
diff --git a/demos/demo_imuPlateform_Offline.cpp b/demos/demo_imuPlateform_Offline.cpp
index 8f953ad35b9713978d9bfb0bdb5723dd9e79bbec..9c324c8793349a816ae2c6727e0f63106598d955 100644
--- a/demos/demo_imuPlateform_Offline.cpp
+++ b/demos/demo_imuPlateform_Offline.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 //Wolf
 #include <core/ceres_wrapper/solver_ceres.h>
 
diff --git a/demos/demo_imu_constrained0.cpp b/demos/demo_imu_constrained0.cpp
index eecd4f850ad55e3e723a458997b406515319bb38..d7f82f6bdac0be5a69a6523fa5c613df617dd1ea 100644
--- a/demos/demo_imu_constrained0.cpp
+++ b/demos/demo_imu_constrained0.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 //Wolf
 #include <core/ceres_wrapper/solver_ceres.h>
 
diff --git a/demos/demo_processor_imu.cpp b/demos/demo_processor_imu.cpp
index 9feeb4572e473d44dd4ad5859351db0528b267d6..0f2acd7d0cb2c2a65d6e4d2fd6749612a94ce865 100644
--- a/demos/demo_processor_imu.cpp
+++ b/demos/demo_processor_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /**
  * \file test_processor_imu.cpp
  *
diff --git a/demos/demo_processor_imu_jacobians.cpp b/demos/demo_processor_imu_jacobians.cpp
index c64e1e5e02b6d9ef7c03e00c1633028725cdd9b5..a83a8b41fa7626147a21b7236f1403537f57d549 100644
--- a/demos/demo_processor_imu_jacobians.cpp
+++ b/demos/demo_processor_imu_jacobians.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /**
  * \file test_processor_imu_jacobians.cpp
  *
diff --git a/include/imu/capture/capture_compass.h b/include/imu/capture/capture_compass.h
index 2596e0d855b79285379dca7d6c7973a7d2ffe907..fa0904605c43bdc2761aa7adea9317c13a7cce56 100644
--- a/include/imu/capture/capture_compass.h
+++ b/include/imu/capture/capture_compass.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 //Wolf includes
diff --git a/include/imu/capture/capture_imu.h b/include/imu/capture/capture_imu.h
index b21e7a12fc5ee52edd571184ab1a46e593cdae55..325f0e84c5ef4540391ae492e8097310b00ec169 100644
--- a/include/imu/capture/capture_imu.h
+++ b/include/imu/capture/capture_imu.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 //Wolf includes
diff --git a/include/imu/common/imu.h b/include/imu/common/imu.h
index 25ea836ea74255fded84d1caef2335bbecfc4e15..5f4463b4d094d1542e98448e1edd3566a2b27e7e 100644
--- a/include/imu/common/imu.h
+++ b/include/imu/common/imu.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 // Enable project-specific definitions and macros
diff --git a/include/imu/factor/factor_compass_3d.h b/include/imu/factor/factor_compass_3d.h
index cede21c5260e3d2d3bfc2ae101a7556ebe68463c..95f2b71e5a8e26595853d9e8325882b6bb322513 100644
--- a/include/imu/factor/factor_compass_3d.h
+++ b/include/imu/factor/factor_compass_3d.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,10 +17,10 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
+#include "imu/common/imu.h"
 #include <core/factor/factor_autodiff.h>
 
 namespace wolf
diff --git a/include/imu/factor/factor_fix_bias.h b/include/imu/factor/factor_fix_bias.h
index ea278678d987dde1892ea1003d1e0bfb193bc6f6..a35bc95faee34d910ef40bc1c5b3cbcb524f851b 100644
--- a/include/imu/factor/factor_fix_bias.h
+++ b/include/imu/factor/factor_fix_bias.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,13 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
-#ifndef FACTOR_FIX_BIAS_H_
-#define FACTOR_FIX_BIAS_H_
+#pragma once
 
 // Wolf includes
+#include "imu/common/imu.h"
 #include "imu/capture/capture_imu.h"
 #include "imu/feature/feature_imu.h"
 #include <core/factor/factor_autodiff.h>
@@ -109,6 +107,4 @@ inline bool FactorFixBias::operator()(const T* const _ab, const T* const _wb, T*
     return true;
 }
 
-}  // namespace wolf
-
-#endif
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/factor/factor_imu.h b/include/imu/factor/factor_imu.h
index 36ab4e97ddcfde043c879b3485e936031bdda426..20881ad1e0268644bc58711ce3c9fe5cf823007e 100644
--- a/include/imu/factor/factor_imu.h
+++ b/include/imu/factor/factor_imu.h
@@ -1,10 +1,9 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica
 // Industrial, CSIC-UPC. Authors: Joan Solà Ortega (jsola@iri.upc.edu) All
 // rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +16,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 // Wolf includes
+#include "imu/common/imu.h"
 #include "imu/feature/feature_imu.h"
 #include "imu/sensor/sensor_imu.h"
 #include <core/factor/factor_autodiff.h>
diff --git a/include/imu/factor/factor_imu2d.h b/include/imu/factor/factor_imu2d.h
index 76a8149aaaab3b08b9e2edf340519a5ee19dbb92..d61ffb9efc4d226dd42d82569cdbc2e9744b2ed2 100644
--- a/include/imu/factor/factor_imu2d.h
+++ b/include/imu/factor/factor_imu2d.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,12 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef FACTOR_IMU2D_THETA_H_
-#define FACTOR_IMU2D_THETA_H_
+
+#pragma once
 
 // Wolf includes
+#include "imu/common/imu.h"
 #include "imu/feature/feature_imu2d.h"
 #include "imu/math/imu2d_tools.h"
 #include <core/factor/factor_autodiff.h>
@@ -174,6 +173,4 @@ inline bool FactorImu2d::operator()(const T* const _p1,
     return true;
 }
 
-}  // namespace wolf
-
-#endif
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/factor/factor_imu2d_with_gravity.h b/include/imu/factor/factor_imu2d_with_gravity.h
index 899f9f307025da1f8c003b10e3d1a857e8c7c546..e206b72aa7b4ce8019ff7d5ccd962a80d01a9216 100644
--- a/include/imu/factor/factor_imu2d_with_gravity.h
+++ b/include/imu/factor/factor_imu2d_with_gravity.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,12 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef FACTOR_IMU2D_WITH_GRAVITY_H_
-#define FACTOR_IMU2D_WITH_GRAVITY_H_
+
+#pragma once
 
 // Wolf includes
+#include "imu/common/imu.h"
 #include "imu/feature/feature_imu2d.h"
 #include "imu/math/imu2d_tools.h"
 #include <core/factor/factor_autodiff.h>
@@ -186,6 +185,4 @@ inline bool FactorImu2dWithGravity::operator()(const T* const _p1,
     return true;
 }
 
-}  // namespace wolf
-
-#endif
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/feature/feature_imu.h b/include/imu/feature/feature_imu.h
index eb3881b62e2d4225f9453b7318cd5ce1f65a9ebf..6a01399971f1ea2a52aca52114ade6ffe85d1032 100644
--- a/include/imu/feature/feature_imu.h
+++ b/include/imu/feature/feature_imu.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,64 +17,62 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef FEATURE_IMU_H_
-#define FEATURE_IMU_H_
 
-//Wolf includes
+#pragma once
+
+// Wolf includes
+#include "imu/common/imu.h"
 #include "imu/capture/capture_imu.h"
 #include <core/feature/feature_base.h>
 #include <core/common/wolf.h>
 
-//std includes
+// std includes
 
-namespace wolf {
+namespace wolf
+{
 
-//WOLF_PTR_TYPEDEFS(CaptureImu);
+// WOLF_PTR_TYPEDEFS(CaptureImu);
 WOLF_PTR_TYPEDEFS(FeatureImu);
 
 class FeatureImu : public FeatureBase
 {
-    public:
-
-        /** \brief Constructor from and measures
-         *
-         * \param _measurement the measurement
-         * \param _meas_covariance the noise of the measurement
-         * \param _dD_db_jacobians Jacobians of preintegrated delta wrt Imu biases
-         * \param acc_bias accelerometer bias of origin frame
-         * \param gyro_bias gyroscope bias of origin frame
-         * \param _cap_imu_ptr pointer to parent CaptureMotion
-         */
-        FeatureImu(const Eigen::VectorXd& _delta_preintegrated,
-                   const Eigen::MatrixXd& _delta_preintegrated_covariance,
-                   const Eigen::Vector6d& _bias,
-                   const Eigen::Matrix<double,9,6>& _dD_db_jacobians,
-                   CaptureMotionPtr _cap_imu_ptr = nullptr);
-
-        /** \brief Constructor from capture pointer
-         *
-         * \param _cap_imu_ptr pointer to parent CaptureMotion
-         */
-        FeatureImu(CaptureMotionPtr _cap_imu_ptr);
-
-        ~FeatureImu() override;
-
-        const Eigen::Vector3d&              getAccBiasPreint()  const;
-        const Eigen::Vector3d&              getGyroBiasPreint() const;
-        const Eigen::Matrix<double, 9, 6>&  getJacobianBias()   const;
-
-    private:
-
-        // Used biases
-        Eigen::Vector3d acc_bias_preint_;       ///< Acceleration bias used for delta preintegration
-        Eigen::Vector3d gyro_bias_preint_;      ///< Gyrometer bias used for delta preintegration
-
-        Eigen::Matrix<double, 9, 6> jacobian_bias_;
-
-    public:
-      EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
+  public:
+    /** \brief Constructor from and measures
+     *
+     * \param _measurement the measurement
+     * \param _meas_covariance the noise of the measurement
+     * \param _dD_db_jacobians Jacobians of preintegrated delta wrt Imu biases
+     * \param acc_bias accelerometer bias of origin frame
+     * \param gyro_bias gyroscope bias of origin frame
+     * \param _cap_imu_ptr pointer to parent CaptureMotion
+     */
+    FeatureImu(const Eigen::VectorXd&             _delta_preintegrated,
+               const Eigen::MatrixXd&             _delta_preintegrated_covariance,
+               const Eigen::Vector6d&             _bias,
+               const Eigen::Matrix<double, 9, 6>& _dD_db_jacobians,
+               CaptureMotionPtr                   _cap_imu_ptr = nullptr);
+
+    /** \brief Constructor from capture pointer
+     *
+     * \param _cap_imu_ptr pointer to parent CaptureMotion
+     */
+    FeatureImu(CaptureMotionPtr _cap_imu_ptr);
+
+    ~FeatureImu() override;
+
+    const Eigen::Vector3d&             getAccBiasPreint() const;
+    const Eigen::Vector3d&             getGyroBiasPreint() const;
+    const Eigen::Matrix<double, 9, 6>& getJacobianBias() const;
+
+  private:
+    // Used biases
+    Eigen::Vector3d acc_bias_preint_;   ///< Acceleration bias used for delta preintegration
+    Eigen::Vector3d gyro_bias_preint_;  ///< Gyrometer bias used for delta preintegration
+
+    Eigen::Matrix<double, 9, 6> jacobian_bias_;
+
+  public:
+    EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
 };
 
 inline const Eigen::Vector3d& FeatureImu::getAccBiasPreint() const
@@ -92,6 +90,4 @@ inline const Eigen::Matrix<double, 9, 6>& FeatureImu::getJacobianBias() const
     return jacobian_bias_;
 }
 
-} // namespace wolf
-
-#endif
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/feature/feature_imu2d.h b/include/imu/feature/feature_imu2d.h
index b5ca183e41d5a4fd2d83f6290805acb00b083ea4..f0fe2264be5fc31b26156cdd54355184fa03a62f 100644
--- a/include/imu/feature/feature_imu2d.h
+++ b/include/imu/feature/feature_imu2d.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,61 +17,59 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef FEATURE_IMU2D_H_
-#define FEATURE_IMU2D_H_
 
-//Wolf includes
+#pragma once
+
+// Wolf includes
+#include "imu/common/imu.h"
 #include "imu/capture/capture_imu.h"
 #include <core/feature/feature_base.h>
 #include <core/common/wolf.h>
 
-//std includes
+// std includes
 
-namespace wolf {
+namespace wolf
+{
 
 WOLF_PTR_TYPEDEFS(FeatureImu2d);
 
 class FeatureImu2d : public FeatureBase
 {
-    public:
-
-        /** \brief Constructor from and measures
-         *
-         * \param _measurement the measurement
-         * \param _meas_covariance the noise of the measurement
-         * \param _dD_db_jacobians Jacobians of preintegrated delta wrt Imu2d biases
-         * \param acc_bias accelerometer bias of origin frame
-         * \param gyro_bias gyroscope bias of origin frame
-         * \param _cap_imu_ptr pointer to parent CaptureMotion
-         */
-        FeatureImu2d(const Eigen::VectorXd& _delta_preintegrated,
-                   const Eigen::MatrixXd& _delta_preintegrated_covariance,
-                   const Eigen::Vector3d& _bias,
-                   const Eigen::Matrix<double,5,3>& _dD_db_jacobians,
-                   CaptureMotionPtr _cap_imu_ptr = nullptr);
-
-        /** \brief Constructor from capture pointer
-         *
-         * \param _cap_imu_ptr pointer to parent CaptureMotion
-         */
-        FeatureImu2d(CaptureMotionPtr _cap_imu_ptr);
-
-        ~FeatureImu2d() override;
-
-        const Eigen::Vector3d&              getBiasPreint()  const;
-        const Eigen::Matrix<double, 5, 3>&  getJacobianBias()   const;
-
-    private:
-
-        // Used biases
-        Eigen::Vector3d bias_preint_;       
-
-        Eigen::Matrix<double, 5, 3> jacobian_bias_;
-
-    public:
-      EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
+  public:
+    /** \brief Constructor from and measures
+     *
+     * \param _measurement the measurement
+     * \param _meas_covariance the noise of the measurement
+     * \param _dD_db_jacobians Jacobians of preintegrated delta wrt Imu2d biases
+     * \param acc_bias accelerometer bias of origin frame
+     * \param gyro_bias gyroscope bias of origin frame
+     * \param _cap_imu_ptr pointer to parent CaptureMotion
+     */
+    FeatureImu2d(const Eigen::VectorXd&             _delta_preintegrated,
+                 const Eigen::MatrixXd&             _delta_preintegrated_covariance,
+                 const Eigen::Vector3d&             _bias,
+                 const Eigen::Matrix<double, 5, 3>& _dD_db_jacobians,
+                 CaptureMotionPtr                   _cap_imu_ptr = nullptr);
+
+    /** \brief Constructor from capture pointer
+     *
+     * \param _cap_imu_ptr pointer to parent CaptureMotion
+     */
+    FeatureImu2d(CaptureMotionPtr _cap_imu_ptr);
+
+    ~FeatureImu2d() override;
+
+    const Eigen::Vector3d&             getBiasPreint() const;
+    const Eigen::Matrix<double, 5, 3>& getJacobianBias() const;
+
+  private:
+    // Used biases
+    Eigen::Vector3d bias_preint_;
+
+    Eigen::Matrix<double, 5, 3> jacobian_bias_;
+
+  public:
+    EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
 };
 
 inline const Eigen::Vector3d& FeatureImu2d::getBiasPreint() const
@@ -84,6 +82,4 @@ inline const Eigen::Matrix<double, 5, 3>& FeatureImu2d::getJacobianBias() const
     return jacobian_bias_;
 }
 
-} // namespace wolf
-
-#endif
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/math/imu2d_tools.h b/include/imu/math/imu2d_tools.h
index bbb860ef0e8a52b105ad8175e5bebd8b08d572fa..d4733c902ecdff831783a5a8fa457291551b19d6 100644
--- a/include/imu/math/imu2d_tools.h
+++ b/include/imu/math/imu2d_tools.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +17,10 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #pragma once
 
+#include "imu/common/imu.h"
 #include <core/common/wolf.h>
 #include <core/math/rotations.h>
 #include <core/math/SE2.h>
diff --git a/include/imu/math/imu_tools.h b/include/imu/math/imu_tools.h
index 4829d72e743ec8af25ccaeb1ad31b5f30be19337..767862b78ac7693a8b955fa43d6e97128372ff33 100644
--- a/include/imu/math/imu_tools.h
+++ b/include/imu/math/imu_tools.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +17,10 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #pragma once
 
+#include "imu/common/imu.h"
 #include <core/common/wolf.h>
 #include <core/math/rotations.h>
 #include <core/composite/vector_composite.h>
diff --git a/include/imu/processor/processor_compass.h b/include/imu/processor/processor_compass.h
index f8d1d40caf021f741be7370630a56591627b3966..9913a6bab8ad747182adee1b8ee693b56318ccab 100644
--- a/include/imu/processor/processor_compass.h
+++ b/include/imu/processor/processor_compass.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 #include "imu/common/imu.h"
diff --git a/include/imu/processor/processor_imu.h b/include/imu/processor/processor_imu.h
index ce086dd4115229e65d53c040d9c591ad0631d892..aeba38a34d3de68be8a055a2c6bbcf77eb03dbab 100644
--- a/include/imu/processor/processor_imu.h
+++ b/include/imu/processor/processor_imu.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,12 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef PROCESSOR_IMU_H
-#define PROCESSOR_IMU_H
+
+#pragma once
 
 // Wolf Imu
+#include "imu/common/imu.h"
 #include "imu/sensor/sensor_imu.h"
 #include "imu/capture/capture_imu.h"
 #include "imu/feature/feature_imu.h"
@@ -30,13 +29,14 @@
 
 #include <core/processor/processor_motion.h>
 
-namespace wolf {
+namespace wolf
+{
 WOLF_STRUCT_PTR_TYPEDEFS(ParamsProcessorImu);
 
 struct ParamsProcessorImu : public ParamsProcessorMotion
 {
     bool bootstrap_enable;
-    enum BootstrapMethod 
+    enum BootstrapMethod
     {
         BOOTSTRAP_STATIC,
         BOOTSTRAP_G,
@@ -45,8 +45,7 @@ struct ParamsProcessorImu : public ParamsProcessorMotion
     double bootstrap_averaging_length;
 
     ParamsProcessorImu() = default;
-    ParamsProcessorImu(const YAML::Node& _n):
-        ParamsProcessorMotion(_n)
+    ParamsProcessorImu(const YAML::Node& _n) : ParamsProcessorMotion(_n)
     {
         bootstrap_enable = _n["bootstrap"]["enable"].as<bool>();
         if (bootstrap_enable)
@@ -55,12 +54,12 @@ struct ParamsProcessorImu : public ParamsProcessorMotion
             std::transform(str.begin(), str.end(), str.begin(), ::toupper);
             if (str == "STATIC" /**/)
             {
-                bootstrap_method = BOOTSTRAP_STATIC;
+                bootstrap_method           = BOOTSTRAP_STATIC;
                 bootstrap_averaging_length = _n["bootstrap"]["averaging_length"].as<double>();
             }
             if (str == "G" /*     */)
             {
-                bootstrap_method = BOOTSTRAP_G;
+                bootstrap_method           = BOOTSTRAP_G;
                 bootstrap_averaging_length = _n["bootstrap"]["averaging_length"].as<double>();
             }
             if (str == "V0_G" /*  */)
@@ -77,95 +76,95 @@ struct ParamsProcessorImu : public ParamsProcessorMotion
 
 WOLF_PTR_TYPEDEFS(ProcessorImu);
 
-//class
-class ProcessorImu : public ProcessorMotion{
-    public:
-        ProcessorImu(ParamsProcessorImuPtr _params_motion_Imu);
-        ~ProcessorImu() override;
-        WOLF_PROCESSOR_CREATE(ProcessorImu, ParamsProcessorImu);
-        void configure(SensorBasePtr _sensor) override;
-
-        void preProcess() override;
-
-      protected:
-        void             computeCurrentDelta(const Eigen::VectorXd& _data,
-                                             const Eigen::MatrixXd& _data_cov,
-                                             const Eigen::VectorXd& _calib,
-                                             const double           _dt,
-                                             Eigen::VectorXd&       _delta,
-                                             Eigen::MatrixXd&       _delta_cov,
-                                             Eigen::MatrixXd&       _jacobian_calib) const override;
-        void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
-                                        const Eigen::VectorXd& _delta,
-                                        const double           _dt,
-                                        Eigen::VectorXd&       _delta_preint_plus_delta) const override;
-        void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
-                                        const Eigen::VectorXd& _delta,
-                                        const double           _dt,
-                                        Eigen::VectorXd&       _delta_preint_plus_delta,
-                                        Eigen::MatrixXd&       _jacobian_delta_preint,
-                                        Eigen::MatrixXd&       _jacobian_delta) const override;
-        void             statePlusDelta(const VectorComposite& _x,
-                                        const Eigen::VectorXd& _delta,
-                                        const double           _Dt,
-                                        VectorComposite&       _x_plus_delta) const override;
-        Eigen::VectorXd  deltaZero() const override;
-        Eigen::VectorXd  correctDelta(const Eigen::VectorXd& delta_preint,
-                                      const Eigen::VectorXd& delta_step) const override;
-        VectorXd         getCalibration(const CaptureBaseConstPtr _capture = nullptr) const override;
-        void             setCalibration(const CaptureBasePtr _capture, const VectorXd& _calibration) override;
-        bool             voteForKeyFrame() const override;
-        CaptureMotionPtr emplaceCapture(const FrameBasePtr&   _frame_own,
-                                        const SensorBasePtr&  _sensor,
-                                        const TimeStamp&      _ts,
-                                        const VectorXd&       _data,
-                                        const MatrixXd&       _data_cov,
-                                        const VectorXd&       _calib,
-                                        const VectorXd&       _calib_preint,
-                                        const CaptureBasePtr& _capture_origin) override;
-        virtual void emplaceFeaturesAndFactors(CaptureBasePtr _capture_origin, CaptureMotionPtr _capture_own) override;
-
-      public:
-        /** \brief Enable bootstrapping process
-         */
-        void bootstrapEnable(bool _bootstrap_enable = true);
-
-      protected:
-        /** \brief Bootstrap the IMU initial conditions
-         */
-        virtual void bootstrap() override;
-        /** \brief Get the Capture where the IMU data started the bootstrap
-         */
-        CaptureBasePtr bootstrapOrigin() const;
-        /** \brief Compose all preintegrated Deltas accumulated during the whole bootstrap process.
-         */
-        VectorXd bootstrapDelta() const;
-        /** \brief Incrementally compute all state values according to the current initial conditions and all
-         * preintegrated deltas.
-         * 
-         * This is executed at the end of the bootstrap process
-         */
-        bool recomputeStates() const;
-
-      protected:
-        ParamsProcessorImuPtr       params_motion_Imu_;
-        std::list<FactorBasePtr>    bootstrap_factor_list_; ///< List of all IMU factors created while IMU is bootstrapping
-        SensorImu3dPtr              sensor_imu_;
-        Matrix6d                    imu_drift_cov_;
+// class
+class ProcessorImu : public ProcessorMotion
+{
+  public:
+    ProcessorImu(ParamsProcessorImuPtr _params_motion_Imu);
+    ~ProcessorImu() override;
+    WOLF_PROCESSOR_CREATE(ProcessorImu, ParamsProcessorImu);
+    void configure(SensorBasePtr _sensor) override;
+
+    void preProcess() override;
+
+  protected:
+    void             computeCurrentDelta(const Eigen::VectorXd& _data,
+                                         const Eigen::MatrixXd& _data_cov,
+                                         const Eigen::VectorXd& _calib,
+                                         const double           _dt,
+                                         Eigen::VectorXd&       _delta,
+                                         Eigen::MatrixXd&       _delta_cov,
+                                         Eigen::MatrixXd&       _jacobian_calib) const override;
+    void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
+                                    const Eigen::VectorXd& _delta,
+                                    const double           _dt,
+                                    Eigen::VectorXd&       _delta_preint_plus_delta) const override;
+    void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
+                                    const Eigen::VectorXd& _delta,
+                                    const double           _dt,
+                                    Eigen::VectorXd&       _delta_preint_plus_delta,
+                                    Eigen::MatrixXd&       _jacobian_delta_preint,
+                                    Eigen::MatrixXd&       _jacobian_delta) const override;
+    void             statePlusDelta(const VectorComposite& _x,
+                                    const Eigen::VectorXd& _delta,
+                                    const double           _Dt,
+                                    VectorComposite&       _x_plus_delta) const override;
+    Eigen::VectorXd  deltaZero() const override;
+    Eigen::VectorXd  correctDelta(const Eigen::VectorXd& delta_preint,
+                                  const Eigen::VectorXd& delta_step) const override;
+    VectorXd         getCalibration(const CaptureBaseConstPtr _capture = nullptr) const override;
+    void             setCalibration(const CaptureBasePtr _capture, const VectorXd& _calibration) override;
+    bool             voteForKeyFrame() const override;
+    CaptureMotionPtr emplaceCapture(const FrameBasePtr&   _frame_own,
+                                    const SensorBasePtr&  _sensor,
+                                    const TimeStamp&      _ts,
+                                    const VectorXd&       _data,
+                                    const MatrixXd&       _data_cov,
+                                    const VectorXd&       _calib,
+                                    const VectorXd&       _calib_preint,
+                                    const CaptureBasePtr& _capture_origin) override;
+    virtual void     emplaceFeaturesAndFactors(CaptureBasePtr _capture_origin, CaptureMotionPtr _capture_own) override;
+
+  public:
+    /** \brief Enable bootstrapping process
+     */
+    void bootstrapEnable(bool _bootstrap_enable = true);
+
+  protected:
+    /** \brief Bootstrap the IMU initial conditions
+     */
+    virtual void bootstrap() override;
+    /** \brief Get the Capture where the IMU data started the bootstrap
+     */
+    CaptureBasePtr bootstrapOrigin() const;
+    /** \brief Compose all preintegrated Deltas accumulated during the whole bootstrap process.
+     */
+    VectorXd bootstrapDelta() const;
+    /** \brief Incrementally compute all state values according to the current initial conditions and all
+     * preintegrated deltas.
+     *
+     * This is executed at the end of the bootstrap process
+     */
+    bool recomputeStates() const;
+
+  protected:
+    ParamsProcessorImuPtr    params_motion_Imu_;
+    std::list<FactorBasePtr> bootstrap_factor_list_;  ///< List of all IMU factors created while IMU is bootstrapping
+    SensorImu3dPtr           sensor_imu_;
+    Matrix6d                 imu_drift_cov_;
 };
-}
+}  // namespace wolf
 
 /////////////////////////////////////////////////////////
 // IMPLEMENTATION. Put your implementation includes here
 /////////////////////////////////////////////////////////
 
-namespace wolf{
+namespace wolf
+{
 
 inline Eigen::VectorXd ProcessorImu::deltaZero() const
 {
-    return (Eigen::VectorXd(10) << 0,0,0,  0,0,0,1,  0,0,0 ).finished(); // p, q, v
+    return (Eigen::VectorXd(10) << 0, 0, 0, 0, 0, 0, 1, 0, 0, 0).finished();  // p, q, v
 }
 
-} // namespace wolf
-
-#endif // PROCESSOR_Imu_H
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/processor/processor_imu2d.h b/include/imu/processor/processor_imu2d.h
index 1247556b98673d4bf1e67d731ab9f8f739e2a4d5..472f4800c19ea7c969e3b4798159cd3eec9b35d5 100644
--- a/include/imu/processor/processor_imu2d.h
+++ b/include/imu/processor/processor_imu2d.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,25 +17,24 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef PROCESSOR_IMU2D_H
-#define PROCESSOR_IMU2D_H
+
+#pragma once
 
 // Wolf
+#include "imu/common/imu.h"
 #include "imu/sensor/sensor_imu.h"
 #include "imu/capture/capture_imu.h"
 #include "imu/feature/feature_imu.h"
 #include <core/processor/processor_motion.h>
 
-namespace wolf {
+namespace wolf
+{
 WOLF_STRUCT_PTR_TYPEDEFS(ParamsProcessorImu2d);
 
 struct ParamsProcessorImu2d : public ParamsProcessorMotion
 {
     ParamsProcessorImu2d() = default;
-    ParamsProcessorImu2d(const YAML::Node& _n) :
-        ParamsProcessorMotion(_n)
+    ParamsProcessorImu2d(const YAML::Node& _n) : ParamsProcessorMotion(_n)
     {
         //
     }
@@ -47,74 +46,73 @@ struct ParamsProcessorImu2d : public ParamsProcessorMotion
 
 WOLF_PTR_TYPEDEFS(ProcessorImu2d);
 
-//class
-class ProcessorImu2d : public ProcessorMotion{
-    public:
-        ProcessorImu2d(ParamsProcessorImu2dPtr _params_motion_Imu);
-        ~ProcessorImu2d() override;
-        void configure(SensorBasePtr _sensor) override;
+// class
+class ProcessorImu2d : public ProcessorMotion
+{
+  public:
+    ProcessorImu2d(ParamsProcessorImu2dPtr _params_motion_Imu);
+    ~ProcessorImu2d() override;
+    void configure(SensorBasePtr _sensor) override;
 
-        WOLF_PROCESSOR_CREATE(ProcessorImu2d, ParamsProcessorImu2d);
-        void preProcess() override;
+    WOLF_PROCESSOR_CREATE(ProcessorImu2d, ParamsProcessorImu2d);
+    void preProcess() override;
 
-    protected:
-        void computeCurrentDelta(const Eigen::VectorXd& _data,
+  protected:
+    void             computeCurrentDelta(const Eigen::VectorXd& _data,
                                          const Eigen::MatrixXd& _data_cov,
                                          const Eigen::VectorXd& _calib,
-                                         const double _dt,
-                                         Eigen::VectorXd& _delta,
-                                         Eigen::MatrixXd& _delta_cov,
-                                         Eigen::MatrixXd& _jacobian_calib) const override;
-        void deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
+                                         const double           _dt,
+                                         Eigen::VectorXd&       _delta,
+                                         Eigen::MatrixXd&       _delta_cov,
+                                         Eigen::MatrixXd&       _jacobian_calib) const override;
+    void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
                                     const Eigen::VectorXd& _delta,
-                                    const double _dt,
-                                    Eigen::VectorXd& _delta_preint_plus_delta) const override;
-        void deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
+                                    const double           _dt,
+                                    Eigen::VectorXd&       _delta_preint_plus_delta) const override;
+    void             deltaPlusDelta(const Eigen::VectorXd& _delta_preint,
                                     const Eigen::VectorXd& _delta,
-                                    const double _dt,
-                                    Eigen::VectorXd& _delta_preint_plus_delta,
-                                    Eigen::MatrixXd& _jacobian_delta_preint,
-                                    Eigen::MatrixXd& _jacobian_delta) const override;
-        void statePlusDelta(const VectorComposite& _x,
+                                    const double           _dt,
+                                    Eigen::VectorXd&       _delta_preint_plus_delta,
+                                    Eigen::MatrixXd&       _jacobian_delta_preint,
+                                    Eigen::MatrixXd&       _jacobian_delta) const override;
+    void             statePlusDelta(const VectorComposite& _x,
                                     const Eigen::VectorXd& _delta,
-                                    const double _Dt,
-                                    VectorComposite& _x_plus_delta) const override;
-        Eigen::VectorXd deltaZero() const override;
-        Eigen::VectorXd correctDelta(const Eigen::VectorXd& delta_preint,
-                                             const Eigen::VectorXd& delta_step) const override;
-        VectorXd getCalibration (const CaptureBaseConstPtr _capture) const override;
-        void setCalibration(const CaptureBasePtr _capture, const VectorXd& _calibration) override;
-        bool voteForKeyFrame() const override;
-        CaptureMotionPtr emplaceCapture(const FrameBasePtr& _frame_own,
-                                                const SensorBasePtr& _sensor,
-                                                const TimeStamp& _ts,
-                                                const VectorXd& _data,
-                                                const MatrixXd& _data_cov,
-                                                const VectorXd& _calib,
-                                                const VectorXd& _calib_preint,
-                                                const CaptureBasePtr& _capture_origin) override;
-        virtual void emplaceFeaturesAndFactors(CaptureBasePtr _capture_origin, CaptureMotionPtr _capture_own) override;
+                                    const double           _Dt,
+                                    VectorComposite&       _x_plus_delta) const override;
+    Eigen::VectorXd  deltaZero() const override;
+    Eigen::VectorXd  correctDelta(const Eigen::VectorXd& delta_preint,
+                                  const Eigen::VectorXd& delta_step) const override;
+    VectorXd         getCalibration(const CaptureBaseConstPtr _capture) const override;
+    void             setCalibration(const CaptureBasePtr _capture, const VectorXd& _calibration) override;
+    bool             voteForKeyFrame() const override;
+    CaptureMotionPtr emplaceCapture(const FrameBasePtr&   _frame_own,
+                                    const SensorBasePtr&  _sensor,
+                                    const TimeStamp&      _ts,
+                                    const VectorXd&       _data,
+                                    const MatrixXd&       _data_cov,
+                                    const VectorXd&       _calib,
+                                    const VectorXd&       _calib_preint,
+                                    const CaptureBasePtr& _capture_origin) override;
+    virtual void     emplaceFeaturesAndFactors(CaptureBasePtr _capture_origin, CaptureMotionPtr _capture_own) override;
 
-
-    protected:
-        ParamsProcessorImu2dPtr params_motion_Imu_;
-        SensorImu2dPtr          sensor_imu2d_;
-        Matrix3d                imu_drift_cov_;
+  protected:
+    ParamsProcessorImu2dPtr params_motion_Imu_;
+    SensorImu2dPtr          sensor_imu2d_;
+    Matrix3d                imu_drift_cov_;
 };
 
-}
+}  // namespace wolf
 
 /////////////////////////////////////////////////////////
 // IMPLEMENTATION. Put your implementation includes here
 /////////////////////////////////////////////////////////
 
-namespace wolf{
+namespace wolf
+{
 
 inline Eigen::VectorXd ProcessorImu2d::deltaZero() const
 {
-    return (Eigen::VectorXd(5) << 0,0,  0,  0,0 ).finished(); // p, q, v
+    return (Eigen::VectorXd(5) << 0, 0, 0, 0, 0).finished();  // p, q, v
 }
 
-} // namespace wolf
-
-#endif // PROCESSOR_Imu_H
+}  // namespace wolf
\ No newline at end of file
diff --git a/include/imu/sensor/sensor_compass.h b/include/imu/sensor/sensor_compass.h
index 9736cae31ce38b37258ffccffd6b907424ca3ac7..4ca89da55d5e1eaab0a619111c67b86c6c02c730 100644
--- a/include/imu/sensor/sensor_compass.h
+++ b/include/imu/sensor/sensor_compass.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,12 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
-#ifndef SENSOR_SENSOR_COMPASS_H_
-#define SENSOR_SENSOR_COMPASS_H_
+
+#pragma once
 
 // wolf includes
+#include "imu/common/imu.h"
 #include <core/sensor/sensor_base.h>
 
 #include <iostream>
@@ -70,6 +69,4 @@ inline ParamsSensorCompassConstPtr SensorCompass::getParams() const
     return params_compass_;
 }
 
-} /* namespace wolf */
-
-#endif /* SENSOR_SENSOR_DIFF_DRIVE_H_ */
+} /* namespace wolf */
\ No newline at end of file
diff --git a/include/imu/sensor/sensor_imu.h b/include/imu/sensor/sensor_imu.h
index 901e9027421fa6a11e88b3875ee235176f7cef8f..0c8ce27edfa98bf398fe8d8d94db6687b718c0e2 100644
--- a/include/imu/sensor/sensor_imu.h
+++ b/include/imu/sensor/sensor_imu.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +17,11 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #pragma once
 
 //wolf includes
+#include "imu/common/imu.h"
 #include <core/sensor/sensor_base.h>
 
 namespace wolf {
diff --git a/license_header_2023.txt b/license_header_2023.txt
index 2ddae24c37e894a9a46e58afd6db8ebf8ff14b92..529e05aa1469fbcfd40d938a07ea2d488cb4ca40 100644
--- a/license_header_2023.txt
+++ b/license_header_2023.txt
@@ -1,8 +1,10 @@
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
diff --git a/src/capture/capture_imu.cpp b/src/capture/capture_imu.cpp
index 748de9d4edffe258098d248271a58aa59f8ab84e..eabab021f926c2830bd90627983aee4ea7196d36 100644
--- a/src/capture/capture_imu.cpp
+++ b/src/capture/capture_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "imu/capture/capture_imu.h"
 #include "imu/sensor/sensor_imu.h"
 
diff --git a/src/feature/feature_imu.cpp b/src/feature/feature_imu.cpp
index 6034da9f6453e23b1e9676f5eee5a6ae29343327..71fa2db99ecd6096dfcc96efbf29d312c0d569cc 100644
--- a/src/feature/feature_imu.cpp
+++ b/src/feature/feature_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "imu/feature/feature_imu.h"
 
 namespace wolf {
diff --git a/src/feature/feature_imu2d.cpp b/src/feature/feature_imu2d.cpp
index 73073046874cff677adc272ff5237e5d5e0adee5..ef19eef6842e16e7795cb3916ea41c534f66547e 100644
--- a/src/feature/feature_imu2d.cpp
+++ b/src/feature/feature_imu2d.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "imu/feature/feature_imu2d.h"
 
 namespace wolf {
diff --git a/src/processor/processor_compass.cpp b/src/processor/processor_compass.cpp
index 6cd8acacdbce6d41006d77d15f7c19ca85c072f7..e6d96c6686652d0918da0551517c7aa4da0bb9d1 100644
--- a/src/processor/processor_compass.cpp
+++ b/src/processor/processor_compass.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "imu/processor/processor_compass.h"
 #include "imu/capture/capture_compass.h"
 #include "imu/factor/factor_compass_3d.h"
diff --git a/src/processor/processor_imu.cpp b/src/processor/processor_imu.cpp
index 67008e987eb2b25f75fc7aebecc6a0aa36cf54a5..80ad04c00aa6199d8f101287ee1e68dd83363519 100644
--- a/src/processor/processor_imu.cpp
+++ b/src/processor/processor_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 // imu
 #include "imu/processor/processor_imu.h"
 #include "imu/factor/factor_imu.h"
diff --git a/src/processor/processor_imu2d.cpp b/src/processor/processor_imu2d.cpp
index b39bf85cc39cbf7d5cb36dc8e49dd322298cfa00..2559928966d605d7d73879ea9f91996ab9913bf0 100644
--- a/src/processor/processor_imu2d.cpp
+++ b/src/processor/processor_imu2d.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 // imu
 #include "imu/processor/processor_imu2d.h"
diff --git a/src/sensor/sensor_compass.cpp b/src/sensor/sensor_compass.cpp
index a860acea92010bf9598af061dde438e61f0ce292..c8d77b6a1d84f5f7cfb719e8e0c18ab662cde52b 100644
--- a/src/sensor/sensor_compass.cpp
+++ b/src/sensor/sensor_compass.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "imu/sensor/sensor_compass.h"
 #include "core/state_block/state_block_derived.h"
 #include "core/state_block/state_quaternion.h"
diff --git a/test/gtest_example.cpp b/test/gtest_example.cpp
index c4e1c576511647b978db39fffcc02f57c1d3a4e4..89a98d05a130887131130c74dcef112b272eff18 100644
--- a/test/gtest_example.cpp
+++ b/test/gtest_example.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include <core/utils/utils_gtest.h>
 
 TEST(TestTest, DummyTestExample)
diff --git a/test/gtest_factor_compass_3d.cpp b/test/gtest_factor_compass_3d.cpp
index 9ee933008c80af9395185a691800b203b133ed2d..8d419a60bb90908d2b87cd3b8e320b6096aea465 100644
--- a/test/gtest_factor_compass_3d.cpp
+++ b/test/gtest_factor_compass_3d.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "core/utils/utils_gtest.h"
 
 #include "imu/internal/config.h"
diff --git a/test/gtest_factor_imu.cpp b/test/gtest_factor_imu.cpp
index 04740f89e326a4bc707e2dfc5b3ad656228b8a57..86331b8136a2ef7c625b1ac9c7ead478e23a5437 100644
--- a/test/gtest_factor_imu.cpp
+++ b/test/gtest_factor_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include <core/ceres_wrapper/solver_ceres.h>
 #include <core/utils/utils_gtest.h>
diff --git a/test/gtest_factor_imu2d.cpp b/test/gtest_factor_imu2d.cpp
index 48289bda0027b4d8d9d2936f26c5078c83cca227..a6ebea4ea6046c211bd67274da19482c5f24a023 100644
--- a/test/gtest_factor_imu2d.cpp
+++ b/test/gtest_factor_imu2d.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include <core/ceres_wrapper/solver_ceres.h>
 #include <core/utils/utils_gtest.h>
 
diff --git a/test/gtest_factor_imu2d_with_gravity.cpp b/test/gtest_factor_imu2d_with_gravity.cpp
index 4763816a2e067ac418dc790d714640d08cc44e16..0046dfc435fec60936ffb37035f62117ca3948ea 100644
--- a/test/gtest_factor_imu2d_with_gravity.cpp
+++ b/test/gtest_factor_imu2d_with_gravity.cpp
@@ -1,10 +1,9 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica
 // Industrial, CSIC-UPC. Authors: Joan Solà Ortega (jsola@iri.upc.edu) All
 // rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +16,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include <core/ceres_wrapper/solver_ceres.h>
 #include <core/utils/utils_gtest.h>
 
diff --git a/test/gtest_feature_imu.cpp b/test/gtest_feature_imu.cpp
index 06869f20060b5e77c4d5c1b9e7659617bba41446..c69f596b0ff637f8fb0a659831e39bf7b7bc4feb 100644
--- a/test/gtest_feature_imu.cpp
+++ b/test/gtest_feature_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 //Wolf
 #include "imu/capture/capture_imu.h"
 #include "imu/processor/processor_imu.h"
diff --git a/test/gtest_imu.cpp b/test/gtest_imu.cpp
index 64824c27585bd721b0ca5d6eddc3e53a3b07c01f..07e6f8e1d57d1a222ac3056439b23e351d46f539 100644
--- a/test/gtest_imu.cpp
+++ b/test/gtest_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /*
  * gtest_Imu.cpp
  *
diff --git a/test/gtest_imu2d_static_init.cpp b/test/gtest_imu2d_static_init.cpp
index 6971696d06bee95c196b2be7b20d95f655aacf16..19a2f77040d6efea26fd3958a2756bd933a7e837 100644
--- a/test/gtest_imu2d_static_init.cpp
+++ b/test/gtest_imu2d_static_init.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include <fstream>
 #include <core/utils/utils_gtest.h>
diff --git a/test/gtest_imu2d_tools.cpp b/test/gtest_imu2d_tools.cpp
index 0c43136c059e0371bfaceda6703c5765f16dd919..d05cc6093eda505c7e9bd911b62d5896c92c1b43 100644
--- a/test/gtest_imu2d_tools.cpp
+++ b/test/gtest_imu2d_tools.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /*
  * gtest_imu2d_tools.cpp
  *
diff --git a/test/gtest_imu_mocap_fusion.cpp b/test/gtest_imu_mocap_fusion.cpp
index b5cc40a72589f754b775e2d041bc7aafc03cbf7e..e2316366e4896726ae2b2f386f3c5c848db02a3b 100644
--- a/test/gtest_imu_mocap_fusion.cpp
+++ b/test/gtest_imu_mocap_fusion.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include <fstream>
 
diff --git a/test/gtest_imu_static_init.cpp b/test/gtest_imu_static_init.cpp
index 27fb343176edfb532a82be3199e5a3ae6b2f5f27..9de7e9868582f8f6c8cfcbe509dbdcc82ee407a4 100644
--- a/test/gtest_imu_static_init.cpp
+++ b/test/gtest_imu_static_init.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /*
  * gtest_imu_static_init.cpp
  *
diff --git a/test/gtest_imu_tools.cpp b/test/gtest_imu_tools.cpp
index f09e224b21dae8f14a2ef4414294d75d206691b0..0d4dc734c5116949226189998e3b504f63035ff2 100644
--- a/test/gtest_imu_tools.cpp
+++ b/test/gtest_imu_tools.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /*
  * gtest_imu_tools.cpp
  *
diff --git a/test/gtest_processor_imu.cpp b/test/gtest_processor_imu.cpp
index d612c3f80649583dea1784faa84f6aec7768ca7c..12d32c2b225e6a2411291ddce32ba1ac0e487f7c 100644
--- a/test/gtest_processor_imu.cpp
+++ b/test/gtest_processor_imu.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include "imu/internal/config.h"
 #include "imu/capture/capture_imu.h"
diff --git a/test/gtest_processor_imu2d.cpp b/test/gtest_processor_imu2d.cpp
index c9fac472bb6b2b20227b59949e6a2fa34a685386..5da98fafeff1cfe67f78d8c049c4f63603a415a5 100644
--- a/test/gtest_processor_imu2d.cpp
+++ b/test/gtest_processor_imu2d.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include "imu/internal/config.h"
 #include "imu/capture/capture_imu.h"
diff --git a/test/gtest_processor_imu2d_with_gravity.cpp b/test/gtest_processor_imu2d_with_gravity.cpp
index 58e61f671840a79c98c84c17e962c1b9f5e610db..5067c87ffe6d2a2062d2f65fb983eefcf5182d3c 100644
--- a/test/gtest_processor_imu2d_with_gravity.cpp
+++ b/test/gtest_processor_imu2d_with_gravity.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
 #include "imu/internal/config.h"
 #include "imu/capture/capture_imu.h"
diff --git a/test/gtest_processor_imu_jacobians.cpp b/test/gtest_processor_imu_jacobians.cpp
index a20cfeebd28a190b98a69dfd59ec28cbffdfa1de..810e1e9a3418a0db4514d3df667f4f926ef103aa 100644
--- a/test/gtest_processor_imu_jacobians.cpp
+++ b/test/gtest_processor_imu_jacobians.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,6 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 /**
  * \file gtest_imu_preintegration_jacobians.cpp
  *
diff --git a/test/gtest_processor_motion_intrinsics_update.cpp b/test/gtest_processor_motion_intrinsics_update.cpp
index 0aec43d7f30c25735a2302acbbdb526a3c163e6a..c51059f7d373cc09f1bd9ccc7092f85a2cc3a753 100644
--- a/test/gtest_processor_motion_intrinsics_update.cpp
+++ b/test/gtest_processor_motion_intrinsics_update.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include <fstream>
 
 #include "imu/internal/config.h"
diff --git a/test/gtest_sensor_compass.cpp b/test/gtest_sensor_compass.cpp
index 8b3be46b4bdf52e40c8dbc64df9945bd14893f97..ffbf48619e0c5372aaa01aff91a46fdfda635ab1 100644
--- a/test/gtest_sensor_compass.cpp
+++ b/test/gtest_sensor_compass.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "core/utils/utils_gtest.h"
 
 #include "imu/internal/config.h"
diff --git a/test/processor_imu2d_UnitTester.cpp b/test/processor_imu2d_UnitTester.cpp
index e837e6ef1ffaa1ecbf01168997bb283dd8c0d63f..bf908e077d83b7f6e919860e15354ed1324c9e9d 100644
--- a/test/processor_imu2d_UnitTester.cpp
+++ b/test/processor_imu2d_UnitTester.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "processor_imu2d_UnitTester.h"
 
 namespace wolf {
diff --git a/test/processor_imu2d_UnitTester.h b/test/processor_imu2d_UnitTester.h
index 25ab07432053f4d2f516c0b373d8c6d289a076d7..a54c1dc5d691fd52e3782492a744dafcf8354cce 100644
--- a/test/processor_imu2d_UnitTester.h
+++ b/test/processor_imu2d_UnitTester.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +17,8 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
-#ifndef PROCESSOR_IMU2D_UNITTESTER_H
-#define PROCESSOR_IMU2D_UNITTESTER_H
+#pragma once
 
 // Wolf
 #include "imu/processor/processor_imu2d.h"
@@ -395,6 +392,4 @@ inline Imu_jac_deltas ProcessorImu2d_UnitTester::finite_diff_noise(const double&
 
 }
 
-} // namespace wolf
-
-#endif // PROCESSOR_Imu_UNITTESTER_H
+} // namespace wolf
\ No newline at end of file
diff --git a/test/processor_imu_UnitTester.cpp b/test/processor_imu_UnitTester.cpp
index 8b16351bbea05a359a7b9206dd0cc81295cee9ea..d9c40a3c9f179839b6503f727a731a6eddfa43d1 100644
--- a/test/processor_imu_UnitTester.cpp
+++ b/test/processor_imu_UnitTester.cpp
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,8 +17,7 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
+
 #include "processor_imu_UnitTester.h"
 
 namespace wolf {
diff --git a/test/processor_imu_UnitTester.h b/test/processor_imu_UnitTester.h
index 251de7f6140d2e968bcb945c61cae576d25846dd..7aa7c95fcaa6d4e7eb5215ec2d753b5b6f026697 100644
--- a/test/processor_imu_UnitTester.h
+++ b/test/processor_imu_UnitTester.h
@@ -1,10 +1,10 @@
-//--------LICENSE_START--------
-//
-// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
-// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// WOLF - Copyright (C) 2020,2021,2022,2023
+// Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and
+// Joan Vallvé Navarro (jvallve@iri.upc.edu)
 // All rights reserved.
 //
-// This file is part of WOLF
+// This file is part of WOLF: http://www.iri.upc.edu/wolf
 // WOLF is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Lesser General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
@@ -17,11 +17,8 @@
 //
 // You should have received a copy of the GNU Lesser General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-//--------LICENSE_END--------
 
-#ifndef PROCESSOR_IMU_UNITTESTER_H
-#define PROCESSOR_IMU_UNITTESTER_H
+#pragma once
 
 // Wolf
 #include "imu/processor/processor_imu.h"
@@ -395,6 +392,4 @@ inline Imu_jac_deltas ProcessorImu_UnitTester::finite_diff_noise(const double& _
 
 }
 
-} // namespace wolf
-
-#endif // PROCESSOR_Imu_UNITTESTER_H
+} // namespace wolf
\ No newline at end of file
diff --git a/wolf_scripts/create_plugin.sh b/wolf_scripts/create_plugin.sh
deleted file mode 100755
index b1ca42f945f7f559a70e43377412faa8e6d4ec9c..0000000000000000000000000000000000000000
--- a/wolf_scripts/create_plugin.sh
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/bin/bash
-# $1 path to the root of the plugin
-# $2 name of the plugin
-# $3 files to be moved
-
-#Generate the necessary dirs
-# if [ ! -d $1 ];
-# then
-#     mkdir $1
-# fi
-
-# if [ ! -d $1/include/$2 ];
-# then
-#     # mkdir $1/include
-#     mkdir $1/include/$2
-# fi
-# if [ ! -d $1/src ];
-# then
-#     mkdir $1/src
-# fi
-root_dir=$(echo $1 | rev | cut -d '/' -f 2- | rev)
-if [ ! -d $root_dir/$2 ];
-then
-    cp -a ../Skeleton $root_dir
-    mv $root_dir/Skeleton $root_dir/$2
-    mv $root_dir/$2/include/skeleton $root_dir/$2/include/$2
-fi
-
-for folder in capture factor feature landmark processor sensor yaml ; do
-    if [ ! -d $1/include/$2/$folder ];
-    then
-        mkdir $1/include/$2/$folder
-    fi
-    if [ ! -d $1/src/$folder ];
-    then
-        mkdir $1/src/$folder
-    fi
-done
-for file in $(cat $3); do
-    head=$(echo $file | cut -d '/' -f 1)
-    if [ "$head" = "include" ];
-    then
-        folder=$(echo $file | cut -d '/' -f 3)
-        suffix=$(echo $file | cut -d '/' -f 4-)
-        line=$(ag "HDRS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
-        line=$(($line + 1))
-        echo $line " && " $file " && " $folder " && " $suffix
-        if [ "$suffix" = "" ];
-        then
-            line=$(ag "HDRS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
-            line=$(($line + 1))
-            suffix=$folder
-            sed  -i ""$line"i $head/$2/$suffix" $1/CMakeLists.txt
-            cp $file $1/$head/$2/$suffix
-        else
-            sed  -i ""$line"i $head/$2/$folder/$suffix" $1/CMakeLists.txt
-            cp $file $1/$head/$2/$folder/$suffix
-        fi
-    elif [ "$head" = "src" ];
-    then
-        folder=$(echo $file | cut -d '/' -f 2)
-        suffix=$(echo $file | cut -d '/' -f 3-)
-        # ag "SRCS_"$folder $1/CMakeLists.txt
-        line=$(ag "SRCS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
-        line=$(($line + 1))
-        echo $line " && " $file " && " $folder " && " $suffix
-        if [ "$suffix" = "" ];
-        then
-            line=$(ag "SRCS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
-            line=$(($line + 1))
-            suffix=$folder
-            sed  -i ""$line"i $file" $1/CMakeLists.txt
-            cp $file $1/$head/$suffix
-        else
-            sed  -i ""$line"i $file" $1/CMakeLists.txt
-            cp $file $1/$head/$folder/$suffix
-        fi
-    else
-        cp $file $1/$file
-    fi
-done
-for f in $(cat $3); do
-    hhead=$(echo $f | cut -d '/' -f 1)
-    if [ "$hhead" = "include" ];
-    then
-        ffolder=$(echo $f | cut -d '/' -f 3)
-        ssuffix=$(echo $f | cut -d '/' -f 4-)
-        inc=$ffolder/$ssuffix
-    else
-        continue
-    fi
-    for ff in $(cat $3); do
-        head=$(echo $ff | cut -d '/' -f 1)
-        if [ "$head" = "include" ];
-        then
-            folder=$(echo $ff | cut -d '/' -f 3)
-            suffix=$(echo $ff | cut -d '/' -f 4-)
-            if [ "$suffix" = "" ];
-            then
-                new_path=$1/$head/$2/$folder
-                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-            else
-                new_path=$1/$head/$2/$folder/$suffix
-                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-            fi
-            # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
-            # sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-        elif [ "$head" = "src" ];
-        then
-            folder=$(echo $ff | cut -d '/' -f 2)
-            suffix=$(echo $ff | cut -d '/' -f 3-)
-            # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
-            if [ "$suffix" = "" ];
-            then
-                new_path=$1/$head/$folder
-                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-            else
-                new_path=$1/$head/$folder/$suffix
-                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-            fi
-        else
-            # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
-            sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $1/$ff
-        fi
-    done
-done
\ No newline at end of file