diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index b1d9bfe596db9e3d70b74d75b4f3101a14381200..0000000000000000000000000000000000000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-cmake_minimum_required(VERSION 2.8.9)
-
-project(CbDimensionalityReduction)
-#set(CbDimensionalityReduction_LIBRARIES CbDimensionalityReduction)
-otb_module_impl()
-
diff --git a/app/CMakeLists.txt b/Modules/Applications/AppDimensionalityReduction/CMakeLists.txt
similarity index 100%
rename from app/CMakeLists.txt
rename to Modules/Applications/AppDimensionalityReduction/CMakeLists.txt
diff --git a/app/cbDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/cbDimensionalityReduction.cxx
similarity index 100%
rename from app/cbDimensionalityReduction.cxx
rename to Modules/Applications/AppDimensionalityReduction/cbDimensionalityReduction.cxx
diff --git a/app/cbDimensionalityReductionTrainer.cxx b/Modules/Applications/AppDimensionalityReduction/cbDimensionalityReductionTrainer.cxx
similarity index 100%
rename from app/cbDimensionalityReductionTrainer.cxx
rename to Modules/Applications/AppDimensionalityReduction/cbDimensionalityReductionTrainer.cxx
diff --git a/app/cbDimensionalityReductionVector.cxx b/Modules/Applications/AppDimensionalityReduction/cbDimensionalityReductionVector.cxx
similarity index 100%
rename from app/cbDimensionalityReductionVector.cxx
rename to Modules/Applications/AppDimensionalityReduction/cbDimensionalityReductionVector.cxx
diff --git a/README.md b/Modules/Learning/DimensionalityReduction/README.md
similarity index 100%
rename from README.md
rename to Modules/Learning/DimensionalityReduction/README.md
diff --git a/include/AutoencoderModel.h b/Modules/Learning/DimensionalityReduction/include/AutoencoderModel.h
similarity index 100%
rename from include/AutoencoderModel.h
rename to Modules/Learning/DimensionalityReduction/include/AutoencoderModel.h
diff --git a/include/AutoencoderModel.txx b/Modules/Learning/DimensionalityReduction/include/AutoencoderModel.txx
similarity index 100%
rename from include/AutoencoderModel.txx
rename to Modules/Learning/DimensionalityReduction/include/AutoencoderModel.txx
diff --git a/include/AutoencoderModelFactory.h b/Modules/Learning/DimensionalityReduction/include/AutoencoderModelFactory.h
similarity index 100%
rename from include/AutoencoderModelFactory.h
rename to Modules/Learning/DimensionalityReduction/include/AutoencoderModelFactory.h
diff --git a/include/AutoencoderModelFactory.txx b/Modules/Learning/DimensionalityReduction/include/AutoencoderModelFactory.txx
similarity index 100%
rename from include/AutoencoderModelFactory.txx
rename to Modules/Learning/DimensionalityReduction/include/AutoencoderModelFactory.txx
diff --git a/include/DimensionalityReductionModelFactory.h b/Modules/Learning/DimensionalityReduction/include/DimensionalityReductionModelFactory.h
similarity index 100%
rename from include/DimensionalityReductionModelFactory.h
rename to Modules/Learning/DimensionalityReduction/include/DimensionalityReductionModelFactory.h
diff --git a/include/DimensionalityReductionModelFactory.txx b/Modules/Learning/DimensionalityReduction/include/DimensionalityReductionModelFactory.txx
similarity index 100%
rename from include/DimensionalityReductionModelFactory.txx
rename to Modules/Learning/DimensionalityReduction/include/DimensionalityReductionModelFactory.txx
diff --git a/include/ImageDimensionalityReductionFilter.h b/Modules/Learning/DimensionalityReduction/include/ImageDimensionalityReductionFilter.h
similarity index 100%
rename from include/ImageDimensionalityReductionFilter.h
rename to Modules/Learning/DimensionalityReduction/include/ImageDimensionalityReductionFilter.h
diff --git a/include/ImageDimensionalityReductionFilter.txx b/Modules/Learning/DimensionalityReduction/include/ImageDimensionalityReductionFilter.txx
similarity index 100%
rename from include/ImageDimensionalityReductionFilter.txx
rename to Modules/Learning/DimensionalityReduction/include/ImageDimensionalityReductionFilter.txx
diff --git a/include/PCAModel.h b/Modules/Learning/DimensionalityReduction/include/PCAModel.h
similarity index 100%
rename from include/PCAModel.h
rename to Modules/Learning/DimensionalityReduction/include/PCAModel.h
diff --git a/include/PCAModel.txx b/Modules/Learning/DimensionalityReduction/include/PCAModel.txx
similarity index 100%
rename from include/PCAModel.txx
rename to Modules/Learning/DimensionalityReduction/include/PCAModel.txx
diff --git a/include/PCAModelFactory.h b/Modules/Learning/DimensionalityReduction/include/PCAModelFactory.h
similarity index 100%
rename from include/PCAModelFactory.h
rename to Modules/Learning/DimensionalityReduction/include/PCAModelFactory.h
diff --git a/include/PCAModelFactory.txx b/Modules/Learning/DimensionalityReduction/include/PCAModelFactory.txx
similarity index 100%
rename from include/PCAModelFactory.txx
rename to Modules/Learning/DimensionalityReduction/include/PCAModelFactory.txx
diff --git a/include/SOMModel.h b/Modules/Learning/DimensionalityReduction/include/SOMModel.h
similarity index 100%
rename from include/SOMModel.h
rename to Modules/Learning/DimensionalityReduction/include/SOMModel.h
diff --git a/include/SOMModel.txx b/Modules/Learning/DimensionalityReduction/include/SOMModel.txx
similarity index 100%
rename from include/SOMModel.txx
rename to Modules/Learning/DimensionalityReduction/include/SOMModel.txx
diff --git a/include/SOMModelFactory.h b/Modules/Learning/DimensionalityReduction/include/SOMModelFactory.h
similarity index 100%
rename from include/SOMModelFactory.h
rename to Modules/Learning/DimensionalityReduction/include/SOMModelFactory.h
diff --git a/include/SOMModelFactory.txx b/Modules/Learning/DimensionalityReduction/include/SOMModelFactory.txx
similarity index 100%
rename from include/SOMModelFactory.txx
rename to Modules/Learning/DimensionalityReduction/include/SOMModelFactory.txx
diff --git a/include/cbLearningApplicationBaseDR.h b/Modules/Learning/DimensionalityReduction/include/cbLearningApplicationBaseDR.h
similarity index 100%
rename from include/cbLearningApplicationBaseDR.h
rename to Modules/Learning/DimensionalityReduction/include/cbLearningApplicationBaseDR.h
diff --git a/include/cbLearningApplicationBaseDR.txx b/Modules/Learning/DimensionalityReduction/include/cbLearningApplicationBaseDR.txx
similarity index 100%
rename from include/cbLearningApplicationBaseDR.txx
rename to Modules/Learning/DimensionalityReduction/include/cbLearningApplicationBaseDR.txx
diff --git a/include/cbTrainAutoencoder.txx b/Modules/Learning/DimensionalityReduction/include/cbTrainAutoencoder.txx
similarity index 100%
rename from include/cbTrainAutoencoder.txx
rename to Modules/Learning/DimensionalityReduction/include/cbTrainAutoencoder.txx
diff --git a/include/cbTrainPCA.txx b/Modules/Learning/DimensionalityReduction/include/cbTrainPCA.txx
similarity index 100%
rename from include/cbTrainPCA.txx
rename to Modules/Learning/DimensionalityReduction/include/cbTrainPCA.txx
diff --git a/include/cbTrainSOM.txx b/Modules/Learning/DimensionalityReduction/include/cbTrainSOM.txx
similarity index 100%
rename from include/cbTrainSOM.txx
rename to Modules/Learning/DimensionalityReduction/include/cbTrainSOM.txx
diff --git a/otb-module.cmake b/Modules/Learning/DimensionalityReduction/otb-module.cmake
similarity index 100%
rename from otb-module.cmake
rename to Modules/Learning/DimensionalityReduction/otb-module.cmake