diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cec2f98de7de8d791d2da639d61ad2baf071ca8e..3860988eaeeebb60a99e5a75b61e50639dd746c4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -66,6 +66,7 @@ SET(HDRS
   IF(falkolib_FOUND)
     SET(HDRS ${HDRS}
       corner_falko_2d.h
+      loop_closure_falko.h
       corner_scene.h)
   ENDIF(falkolib_FOUND)
 
@@ -96,6 +97,7 @@ SET(SRCS
   IF(falkolib_FOUND)
     SET(SRCS ${SRCS}
       corner_falko_2d.cpp
+      loop_closure_falko.cpp
       corner_scene.cpp)
   ENDIF(falkolib_FOUND)
 
diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2008e2892c49df3db5f904edd7f6b25efe3b0d6d
--- /dev/null
+++ b/src/loop_closure_falko.cpp
@@ -0,0 +1,26 @@
+/**
+ * \file loop_closure_base_2d.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+# include "loop_closure_falko.h"
+
+namespace laserscanutils{
+
+    loopClosureFalko::loopClosureFalko(){}
+    loopClosureFalko::~loopClosureFalko(){}
+/*
+    std::shared_ptr<cornerScene> loopClosureBase2d::extractScene(LaserScan &scan,LaserScanParams &scanParams){
+
+        auto NewScene=std::make_shared<cornerScene>();
+
+        return NewScene;
+    }
+*/
+
+    //void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){}
+
+
+}
diff --git a/src/loop_closure_falko.h b/src/loop_closure_falko.h
new file mode 100644
index 0000000000000000000000000000000000000000..6053c7bf27b2475a585becfd16db8da4ff8a7a0a
--- /dev/null
+++ b/src/loop_closure_falko.h
@@ -0,0 +1,64 @@
+/**
+ * \file loop_closure_base_2d.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+#ifndef LOOP_CLOSURE_FALKO_H_
+#define LOOP_CLOSURE_FALKO_H_
+
+#include <iostream>
+#include <fstream>
+#include <memory>
+
+/**************************
+ *      laser_scan_utils includes     *
+ **************************/
+#include "laser_scan.h"
+#include "corner_scene.h"
+
+/**************************
+ *      Falko includes      *
+ **************************/
+#include <falkolib/Feature/FALKO.h>
+#include <falkolib/Feature/CGH.h>
+#include <falkolib/Feature/BSC.h>
+#include <falkolib/Feature/FALKOExtractor.h>
+
+#include <falkolib/Feature/BSCExtractor.h>
+#include <falkolib/Feature/CGHExtractor.h>
+
+#include <falkolib/Matching/NNMatcher.h>
+#include <falkolib/Matching/AHTMatcher.h>
+
+namespace laserscanutils
+{
+
+   /** \brief A 2base class for loop closure using falko library
+*/
+class loopClosureFalko{
+private:
+
+public:
+    /** \brief Constructor
+    **/
+    loopClosureFalko();
+
+    /** \brief Destructor 
+    **/
+    ~loopClosureFalko();
+
+    /** \brief compare new scans against the trained set in order to find loop closures
+     **/
+    void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){}
+
+    /** \brief update the scene struct with keypoints and descriptors
+     **/
+    std::shared_ptr<cornerScene> extractScene(LaserScan &scan,LaserScanParams &scanParams){}
+
+
+};
+} /* namespace laserscanutils */
+
+#endif /* LOOP_CLOSURE_FALKO_H_ */