diff --git a/src/icp.cpp b/src/icp.cpp
index 0987553696a7fdec410ad7e336dbbb9bbc1c99b4..6536fc649f3b6962a449b4171d681e4c965e8426 100644
--- a/src/icp.cpp
+++ b/src/icp.cpp
@@ -7,7 +7,7 @@ std::uniform_real_distribution<double> dis(0.0, 1.0);
 class LDWrapper {
 public:
     LDP laser_data;
-    LDWrapper(LaserScan& scan, LaserScanParams& scan_params)
+    LDWrapper(const LaserScan& scan, const LaserScanParams& scan_params)
     {
         int num_rays = scan.ranges_raw_.size();
         laser_data = ld_alloc_new(num_rays);
@@ -53,7 +53,7 @@ ICP::~ICP()
 
 }
 
-icpOutput ICP::matchPC(LaserScan &_last_ls, LaserScan &_origin_ls, LaserScanParams& scan_params, icpParams &icp_params, Eigen::Vector3s &_last_transf)
+icpOutput ICP::align(const LaserScan &_last_ls, const LaserScan &_origin_ls, const LaserScanParams& scan_params, const icpParams &icp_params, Eigen::Vector3s &_last_transf)
 {
     // Uncomment to enable debug messages from the CSM library
     // sm_debug_write(true);
diff --git a/src/icp.h b/src/icp.h
index 603b2c95b73fb6a7bce4e05deb46b0a7ccd55f62..d6345fc992ea5657445b02f2fdd04b5d614eacbb 100644
--- a/src/icp.h
+++ b/src/icp.h
@@ -33,7 +33,7 @@ class ICP
         ICP();
         ~ICP();
 
-    static icpOutput matchPC(LaserScan &_last_ls, LaserScan &_reference_ls, LaserScanParams& scan_params, icpParams &icp_params, Eigen::Vector3s &_last_transf);
+    static icpOutput align(const LaserScan &_last_ls, const LaserScan &_reference_ls, const LaserScanParams& scan_params, const icpParams &icp_params, Eigen::Vector3s &_last_transf);
 
     static void printTwoLaserData(sm_params &params);
     static void printLaserData(LDP &laser_data);