Big cleaning and refactoring for clarity purpose and maintainability. Still in progress...