diff --git a/README.md b/README.md index 4846c945..7cefee50 100644 --- a/README.md +++ b/README.md @@ -65,22 +65,22 @@ ______________________________________________________________________ | Module | What you learn | | --------------------------------------------------------------- | ---------------------------------------------- | -| [01_python_fundamentals](01_python_fundamentals/) | Solid language foundation | -| [02_intermediate_python](02_intermediate_python/) | Flow, files, exceptions, generators | -| [03_basic_intermediate_oop](03_basic_intermediate_oop/) | Applicable object-oriented design | -| [04_cpython_internals_advanced](04_cpython_internals_advanced/) | Internals, GIL/free-threading, subinterpreters | -| [05_modern_concurrency](05_modern_concurrency/) | Threading, multiprocessing, modern asyncio | -| [06_typing_metaprogramming](06_typing_metaprogramming/) | Advanced typing and metaprogramming | -| [07_design_patterns](07_design_patterns/) | Patterns for robust design | -| [08_application_architecture](08_application_architecture/) | Modular and scalable architecture | -| [09_testing_qa](09_testing_qa/) | Professional testing and quality | -| [10_performance_optimization](10_performance_optimization/) | Practical profiling and optimization | -| [11_modern_tooling_2026](11_modern_tooling_2026/) | uv, Ruff, modern type checking | -| [12_fastapi_complete](12_fastapi_complete/) | Modern production-ready APIs | -| [13_backend_ecosystem](13_backend_ecosystem/) | Backend and infrastructure integration | -| [14_advanced_python_2026](14_advanced_python_2026/) | PyO3 and AI-assisted development | -| [15_basic_data_science](15_basic_data_science/) | Python data science fundamentals | -| [16_modern_security](16_modern_security/) | Modern software and supply chain security | +| [01_python_fundamentals](modules/01_python_fundamentals/) | Solid language foundation | +| [02_intermediate_python](modules/02_intermediate_python/) | Flow, files, exceptions, generators | +| [03_basic_intermediate_oop](modules/03_basic_intermediate_oop/) | Applicable object-oriented design | +| [04_cpython_internals_advanced](modules/04_cpython_internals_advanced/) | Internals, GIL/free-threading, subinterpreters | +| [05_modern_concurrency](modules/05_modern_concurrency/) | Threading, multiprocessing, modern asyncio | +| [06_typing_metaprogramming](modules/06_typing_metaprogramming/) | Advanced typing and metaprogramming | +| [07_design_patterns](modules/07_design_patterns/) | Patterns for robust design | +| [08_application_architecture](modules/08_application_architecture/) | Modular and scalable architecture | +| [09_testing_qa](modules/09_testing_qa/) | Professional testing and quality | +| [10_performance_optimization](modules/10_performance_optimization/) | Practical profiling and optimization | +| [11_modern_tooling_2026](modules/11_modern_tooling_2026/) | uv, Ruff, modern type checking | +| [12_fastapi_complete](modules/12_fastapi_complete/) | Modern production-ready APIs | +| [13_backend_ecosystem](modules/13_backend_ecosystem/) | Backend and infrastructure integration | +| [14_advanced_python_2026](modules/14_advanced_python_2026/) | PyO3 and AI-assisted development | +| [15_basic_data_science](modules/15_basic_data_science/) | Python data science fundamentals | +| [16_modern_security](modules/16_modern_security/) | Modern software and supply chain security | ______________________________________________________________________ @@ -180,19 +180,19 @@ ______________________________________________________________________ ### Basic Level (Optional for those who already know Python) -#### [01 - Python Fundamentals](01_python_fundamentals/) +#### [01 - Python Fundamentals](modules/01_python_fundamentals/) Variables, data types, control structures, built-in data structures, basic functions, comprehensions. Topics marked as `(optional)` for experienced programmers. **Topics**: 12 | **Estimated time**: 15-20 hours -#### [02 - Intermediate Python](02_intermediate_python/) +#### [02 - Intermediate Python](modules/02_intermediate_python/) Basic decorators, file handling, exceptions, iterators, generators, important standard modules. **Topics**: 15 | **Estimated time**: 20-25 hours -#### [03 - Basic and Intermediate OOP](03_basic_intermediate_oop/) +#### [03 - Basic and Intermediate OOP](modules/03_basic_intermediate_oop/) Classes, inheritance, polymorphism, special methods, properties, descriptors, composition vs inheritance. @@ -202,7 +202,7 @@ ______________________________________________________________________ ### Intermediate-Advanced Level -#### [04 - CPython Internals Advanced](04_cpython_internals_advanced/) +#### [04 - CPython Internals Advanced](modules/04_cpython_internals_advanced/) History of the GIL, **PEP 703 free-threading**, **PEP 684 subinterpreters**, thread-safety without GIL, object model, reference counting, migration strategies. @@ -216,13 +216,13 @@ History of the GIL, **PEP 703 free-threading**, **PEP 684 subinterpreters**, thr - Biased reference counting - Immortal objects (PEP 683) -#### [05 - Modern Concurrency and Parallelism](05_modern_concurrency/) +#### [05 - Modern Concurrency and Parallelism](modules/05_modern_concurrency/) Threading with/without GIL, subinterpreters for isolation, multiprocessing with shared memory, advanced asyncio, concurrency patterns, concurrent testing. **Topics**: 25 | **Estimated time**: 35-50 hours -#### [06 - Typing and Metaprogramming](06_typing_metaprogramming/) +#### [06 - Typing and Metaprogramming](modules/06_typing_metaprogramming/) Advanced type hints, Protocols, TypeVar, ParamSpec, metaclasses, descriptors, AST manipulation, import hooks. @@ -232,25 +232,25 @@ ______________________________________________________________________ ### Patterns and Architecture -#### [07 - Design Patterns](07_design_patterns/) +#### [07 - Design Patterns](modules/07_design_patterns/) 88 design patterns organized in 8 subcategories: GoF basics, Pythonic, advanced GoF, architectural, distributed systems, concurrency, messaging, object management. **Patterns**: 88 | **Estimated time**: 60-80 hours -#### [08 - Application Architecture](08_application_architecture/) +#### [08 - Application Architecture](modules/08_application_architecture/) SOLID, DDD, hexagonal architecture, CQRS, Event-Driven, clean architecture with practical Python examples. **Topics**: 18 | **Estimated time**: 25-35 hours -#### [09 - Testing and QA](09_testing_qa/) +#### [09 - Testing and QA](modules/09_testing_qa/) pytest advanced, fixtures, mocking, hypothesis (property-based testing), mutation testing, performance testing. **Topics**: 16 | **Estimated time**: 20-30 hours -#### [10 - Performance and Optimization](10_performance_optimization/) +#### [10 - Performance and Optimization](modules/10_performance_optimization/) Profiling (py-spy, memray, viztracer), algorithmic optimization, Cython, NumPy vectorization, strategic caching. @@ -260,37 +260,37 @@ ______________________________________________________________________ ### Modern Stack 2026 -#### [11 - Modern Tooling 2026](11_modern_tooling_2026/) +#### [11 - Modern Tooling 2026](modules/11_modern_tooling_2026/) uv (Rust-based package manager), Ruff (linter/formatter), BasedPyright/Pylyzer, pre-commit automation, advanced pytest configuration. **Topics**: 35 | **Estimated time**: 25-35 hours -#### [12 - FastAPI Complete](12_fastapi_complete/) +#### [12 - FastAPI Complete](modules/12_fastapi_complete/) Complete FastAPI framework, JWT authentication, WebSockets, background tasks, deployment on Railway/Fly.io. **Topics**: 28 | **Estimated time**: 40-56 hours -#### [13 - Backend Ecosystem](13_backend_ecosystem/) +#### [13 - Backend Ecosystem](modules/13_backend_ecosystem/) SQLAlchemy 2.0, Redis, RabbitMQ, Kafka, gRPC, distributed observability, service mesh. **Topics**: 20 | **Estimated time**: 28-40 hours -#### [14 - Advanced Python 2026](14_advanced_python_2026/) +#### [14 - Advanced Python 2026](modules/14_advanced_python_2026/) PyO3 (Rust extensions) — 22 topics. AI-Assisted Development — 23 topics. LangChain, LangGraph, autonomous agents. **Topics**: 45 | **Estimated time**: 45-60 hours -#### [15 - Basic Data Science](15_basic_data_science/) +#### [15 - Basic Data Science](modules/15_basic_data_science/) NumPy, Pandas, Matplotlib, Polars, practical statistics for data engineering. **Topics**: 10 | **Estimated time**: 15-20 hours -#### [16 - Modern Security](16_modern_security/) +#### [16 - Modern Security](modules/16_modern_security/) Supply chain security, SBOM, Sigstore (keyless signing), SOPS/Vault (secrets management), runtime hardening. diff --git a/01_python_fundamentals/README.md b/modules/01_python_fundamentals/README.md similarity index 100% rename from 01_python_fundamentals/README.md rename to modules/01_python_fundamentals/README.md diff --git a/01_python_fundamentals/advanced_strings/README.md b/modules/01_python_fundamentals/advanced_strings/README.md similarity index 100% rename from 01_python_fundamentals/advanced_strings/README.md rename to modules/01_python_fundamentals/advanced_strings/README.md diff --git a/01_python_fundamentals/advanced_strings/examples/example_basic.py b/modules/01_python_fundamentals/advanced_strings/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/advanced_strings/examples/example_basic.py rename to modules/01_python_fundamentals/advanced_strings/examples/example_basic.py diff --git a/01_python_fundamentals/advanced_strings/exercise/exercise_01.py b/modules/01_python_fundamentals/advanced_strings/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/advanced_strings/exercise/exercise_01.py rename to modules/01_python_fundamentals/advanced_strings/exercise/exercise_01.py diff --git a/01_python_fundamentals/advanced_strings/references/links.md b/modules/01_python_fundamentals/advanced_strings/references/links.md similarity index 100% rename from 01_python_fundamentals/advanced_strings/references/links.md rename to modules/01_python_fundamentals/advanced_strings/references/links.md diff --git a/01_python_fundamentals/advanced_strings/tests/test_basic.py b/modules/01_python_fundamentals/advanced_strings/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/advanced_strings/tests/test_basic.py rename to modules/01_python_fundamentals/advanced_strings/tests/test_basic.py diff --git a/01_python_fundamentals/basic_debugging_optional/README.md b/modules/01_python_fundamentals/basic_debugging_optional/README.md similarity index 100% rename from 01_python_fundamentals/basic_debugging_optional/README.md rename to modules/01_python_fundamentals/basic_debugging_optional/README.md diff --git a/01_python_fundamentals/basic_debugging_optional/examples/example_basic.py b/modules/01_python_fundamentals/basic_debugging_optional/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/basic_debugging_optional/examples/example_basic.py rename to modules/01_python_fundamentals/basic_debugging_optional/examples/example_basic.py diff --git a/01_python_fundamentals/basic_debugging_optional/exercise/exercise_01.py b/modules/01_python_fundamentals/basic_debugging_optional/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/basic_debugging_optional/exercise/exercise_01.py rename to modules/01_python_fundamentals/basic_debugging_optional/exercise/exercise_01.py diff --git a/01_python_fundamentals/basic_debugging_optional/references/links.md b/modules/01_python_fundamentals/basic_debugging_optional/references/links.md similarity index 100% rename from 01_python_fundamentals/basic_debugging_optional/references/links.md rename to modules/01_python_fundamentals/basic_debugging_optional/references/links.md diff --git a/01_python_fundamentals/basic_debugging_optional/tests/test_basic.py b/modules/01_python_fundamentals/basic_debugging_optional/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/basic_debugging_optional/tests/test_basic.py rename to modules/01_python_fundamentals/basic_debugging_optional/tests/test_basic.py diff --git a/01_python_fundamentals/basic_error_handling/README.md b/modules/01_python_fundamentals/basic_error_handling/README.md similarity index 100% rename from 01_python_fundamentals/basic_error_handling/README.md rename to modules/01_python_fundamentals/basic_error_handling/README.md diff --git a/01_python_fundamentals/basic_error_handling/examples/example_basic.py b/modules/01_python_fundamentals/basic_error_handling/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/basic_error_handling/examples/example_basic.py rename to modules/01_python_fundamentals/basic_error_handling/examples/example_basic.py diff --git a/01_python_fundamentals/basic_error_handling/exercise/exercise_01.py b/modules/01_python_fundamentals/basic_error_handling/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/basic_error_handling/exercise/exercise_01.py rename to modules/01_python_fundamentals/basic_error_handling/exercise/exercise_01.py diff --git a/01_python_fundamentals/basic_error_handling/references/links.md b/modules/01_python_fundamentals/basic_error_handling/references/links.md similarity index 100% rename from 01_python_fundamentals/basic_error_handling/references/links.md rename to modules/01_python_fundamentals/basic_error_handling/references/links.md diff --git a/01_python_fundamentals/basic_error_handling/tests/test_basic.py b/modules/01_python_fundamentals/basic_error_handling/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/basic_error_handling/tests/test_basic.py rename to modules/01_python_fundamentals/basic_error_handling/tests/test_basic.py diff --git a/01_python_fundamentals/basic_functions/README.md b/modules/01_python_fundamentals/basic_functions/README.md similarity index 100% rename from 01_python_fundamentals/basic_functions/README.md rename to modules/01_python_fundamentals/basic_functions/README.md diff --git a/01_python_fundamentals/basic_functions/examples/example_basic.py b/modules/01_python_fundamentals/basic_functions/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/basic_functions/examples/example_basic.py rename to modules/01_python_fundamentals/basic_functions/examples/example_basic.py diff --git a/01_python_fundamentals/basic_functions/exercise/exercise_01.py b/modules/01_python_fundamentals/basic_functions/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/basic_functions/exercise/exercise_01.py rename to modules/01_python_fundamentals/basic_functions/exercise/exercise_01.py diff --git a/01_python_fundamentals/basic_functions/references/links.md b/modules/01_python_fundamentals/basic_functions/references/links.md similarity index 100% rename from 01_python_fundamentals/basic_functions/references/links.md rename to modules/01_python_fundamentals/basic_functions/references/links.md diff --git a/01_python_fundamentals/basic_functions/tests/test_basic.py b/modules/01_python_fundamentals/basic_functions/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/basic_functions/tests/test_basic.py rename to modules/01_python_fundamentals/basic_functions/tests/test_basic.py diff --git a/01_python_fundamentals/comprehensions/README.md b/modules/01_python_fundamentals/comprehensions/README.md similarity index 100% rename from 01_python_fundamentals/comprehensions/README.md rename to modules/01_python_fundamentals/comprehensions/README.md diff --git a/01_python_fundamentals/comprehensions/examples/example_basic.py b/modules/01_python_fundamentals/comprehensions/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/comprehensions/examples/example_basic.py rename to modules/01_python_fundamentals/comprehensions/examples/example_basic.py diff --git a/01_python_fundamentals/comprehensions/exercise/exercise_01.py b/modules/01_python_fundamentals/comprehensions/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/comprehensions/exercise/exercise_01.py rename to modules/01_python_fundamentals/comprehensions/exercise/exercise_01.py diff --git a/01_python_fundamentals/comprehensions/references/links.md b/modules/01_python_fundamentals/comprehensions/references/links.md similarity index 100% rename from 01_python_fundamentals/comprehensions/references/links.md rename to modules/01_python_fundamentals/comprehensions/references/links.md diff --git a/01_python_fundamentals/comprehensions/tests/test_basic.py b/modules/01_python_fundamentals/comprehensions/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/comprehensions/tests/test_basic.py rename to modules/01_python_fundamentals/comprehensions/tests/test_basic.py diff --git a/01_python_fundamentals/control_structures/README.md b/modules/01_python_fundamentals/control_structures/README.md similarity index 100% rename from 01_python_fundamentals/control_structures/README.md rename to modules/01_python_fundamentals/control_structures/README.md diff --git a/01_python_fundamentals/control_structures/examples/example_basic.py b/modules/01_python_fundamentals/control_structures/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/control_structures/examples/example_basic.py rename to modules/01_python_fundamentals/control_structures/examples/example_basic.py diff --git a/01_python_fundamentals/control_structures/exercise/exercise_01.py b/modules/01_python_fundamentals/control_structures/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/control_structures/exercise/exercise_01.py rename to modules/01_python_fundamentals/control_structures/exercise/exercise_01.py diff --git a/01_python_fundamentals/control_structures/references/links.md b/modules/01_python_fundamentals/control_structures/references/links.md similarity index 100% rename from 01_python_fundamentals/control_structures/references/links.md rename to modules/01_python_fundamentals/control_structures/references/links.md diff --git a/01_python_fundamentals/control_structures/tests/test_basic.py b/modules/01_python_fundamentals/control_structures/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/control_structures/tests/test_basic.py rename to modules/01_python_fundamentals/control_structures/tests/test_basic.py diff --git a/01_python_fundamentals/dictionaries_sets/README.md b/modules/01_python_fundamentals/dictionaries_sets/README.md similarity index 100% rename from 01_python_fundamentals/dictionaries_sets/README.md rename to modules/01_python_fundamentals/dictionaries_sets/README.md diff --git a/01_python_fundamentals/dictionaries_sets/examples/example_basic.py b/modules/01_python_fundamentals/dictionaries_sets/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/dictionaries_sets/examples/example_basic.py rename to modules/01_python_fundamentals/dictionaries_sets/examples/example_basic.py diff --git a/01_python_fundamentals/dictionaries_sets/exercise/exercise_01.py b/modules/01_python_fundamentals/dictionaries_sets/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/dictionaries_sets/exercise/exercise_01.py rename to modules/01_python_fundamentals/dictionaries_sets/exercise/exercise_01.py diff --git a/01_python_fundamentals/dictionaries_sets/references/links.md b/modules/01_python_fundamentals/dictionaries_sets/references/links.md similarity index 100% rename from 01_python_fundamentals/dictionaries_sets/references/links.md rename to modules/01_python_fundamentals/dictionaries_sets/references/links.md diff --git a/01_python_fundamentals/dictionaries_sets/tests/test_basic.py b/modules/01_python_fundamentals/dictionaries_sets/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/dictionaries_sets/tests/test_basic.py rename to modules/01_python_fundamentals/dictionaries_sets/tests/test_basic.py diff --git a/01_python_fundamentals/input_output_optional/README.md b/modules/01_python_fundamentals/input_output_optional/README.md similarity index 100% rename from 01_python_fundamentals/input_output_optional/README.md rename to modules/01_python_fundamentals/input_output_optional/README.md diff --git a/01_python_fundamentals/input_output_optional/examples/example_basic.py b/modules/01_python_fundamentals/input_output_optional/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/input_output_optional/examples/example_basic.py rename to modules/01_python_fundamentals/input_output_optional/examples/example_basic.py diff --git a/01_python_fundamentals/input_output_optional/exercise/exercise_01.py b/modules/01_python_fundamentals/input_output_optional/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/input_output_optional/exercise/exercise_01.py rename to modules/01_python_fundamentals/input_output_optional/exercise/exercise_01.py diff --git a/01_python_fundamentals/input_output_optional/references/links.md b/modules/01_python_fundamentals/input_output_optional/references/links.md similarity index 100% rename from 01_python_fundamentals/input_output_optional/references/links.md rename to modules/01_python_fundamentals/input_output_optional/references/links.md diff --git a/01_python_fundamentals/input_output_optional/tests/test_basic.py b/modules/01_python_fundamentals/input_output_optional/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/input_output_optional/tests/test_basic.py rename to modules/01_python_fundamentals/input_output_optional/tests/test_basic.py diff --git a/01_python_fundamentals/lists_tuples/README.md b/modules/01_python_fundamentals/lists_tuples/README.md similarity index 100% rename from 01_python_fundamentals/lists_tuples/README.md rename to modules/01_python_fundamentals/lists_tuples/README.md diff --git a/01_python_fundamentals/lists_tuples/examples/example_basic.py b/modules/01_python_fundamentals/lists_tuples/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/lists_tuples/examples/example_basic.py rename to modules/01_python_fundamentals/lists_tuples/examples/example_basic.py diff --git a/01_python_fundamentals/lists_tuples/exercise/exercise_01.py b/modules/01_python_fundamentals/lists_tuples/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/lists_tuples/exercise/exercise_01.py rename to modules/01_python_fundamentals/lists_tuples/exercise/exercise_01.py diff --git a/01_python_fundamentals/lists_tuples/references/links.md b/modules/01_python_fundamentals/lists_tuples/references/links.md similarity index 100% rename from 01_python_fundamentals/lists_tuples/references/links.md rename to modules/01_python_fundamentals/lists_tuples/references/links.md diff --git a/01_python_fundamentals/lists_tuples/tests/test_basic.py b/modules/01_python_fundamentals/lists_tuples/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/lists_tuples/tests/test_basic.py rename to modules/01_python_fundamentals/lists_tuples/tests/test_basic.py diff --git a/01_python_fundamentals/module_imports/README.md b/modules/01_python_fundamentals/module_imports/README.md similarity index 100% rename from 01_python_fundamentals/module_imports/README.md rename to modules/01_python_fundamentals/module_imports/README.md diff --git a/01_python_fundamentals/module_imports/examples/example_basic.py b/modules/01_python_fundamentals/module_imports/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/module_imports/examples/example_basic.py rename to modules/01_python_fundamentals/module_imports/examples/example_basic.py diff --git a/01_python_fundamentals/module_imports/exercise/exercise_01.py b/modules/01_python_fundamentals/module_imports/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/module_imports/exercise/exercise_01.py rename to modules/01_python_fundamentals/module_imports/exercise/exercise_01.py diff --git a/01_python_fundamentals/module_imports/references/links.md b/modules/01_python_fundamentals/module_imports/references/links.md similarity index 100% rename from 01_python_fundamentals/module_imports/references/links.md rename to modules/01_python_fundamentals/module_imports/references/links.md diff --git a/01_python_fundamentals/module_imports/tests/test_basic.py b/modules/01_python_fundamentals/module_imports/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/module_imports/tests/test_basic.py rename to modules/01_python_fundamentals/module_imports/tests/test_basic.py diff --git a/01_python_fundamentals/operators_expressions_optional/README.md b/modules/01_python_fundamentals/operators_expressions_optional/README.md similarity index 100% rename from 01_python_fundamentals/operators_expressions_optional/README.md rename to modules/01_python_fundamentals/operators_expressions_optional/README.md diff --git a/01_python_fundamentals/operators_expressions_optional/examples/example_basic.py b/modules/01_python_fundamentals/operators_expressions_optional/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/operators_expressions_optional/examples/example_basic.py rename to modules/01_python_fundamentals/operators_expressions_optional/examples/example_basic.py diff --git a/01_python_fundamentals/operators_expressions_optional/exercise/exercise_01.py b/modules/01_python_fundamentals/operators_expressions_optional/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/operators_expressions_optional/exercise/exercise_01.py rename to modules/01_python_fundamentals/operators_expressions_optional/exercise/exercise_01.py diff --git a/01_python_fundamentals/operators_expressions_optional/references/links.md b/modules/01_python_fundamentals/operators_expressions_optional/references/links.md similarity index 100% rename from 01_python_fundamentals/operators_expressions_optional/references/links.md rename to modules/01_python_fundamentals/operators_expressions_optional/references/links.md diff --git a/01_python_fundamentals/operators_expressions_optional/tests/test_basic.py b/modules/01_python_fundamentals/operators_expressions_optional/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/operators_expressions_optional/tests/test_basic.py rename to modules/01_python_fundamentals/operators_expressions_optional/tests/test_basic.py diff --git a/01_python_fundamentals/variables_data_types_optional/README.md b/modules/01_python_fundamentals/variables_data_types_optional/README.md similarity index 100% rename from 01_python_fundamentals/variables_data_types_optional/README.md rename to modules/01_python_fundamentals/variables_data_types_optional/README.md diff --git a/01_python_fundamentals/variables_data_types_optional/examples/example_basic.py b/modules/01_python_fundamentals/variables_data_types_optional/examples/example_basic.py similarity index 100% rename from 01_python_fundamentals/variables_data_types_optional/examples/example_basic.py rename to modules/01_python_fundamentals/variables_data_types_optional/examples/example_basic.py diff --git a/01_python_fundamentals/variables_data_types_optional/exercise/exercise_01.py b/modules/01_python_fundamentals/variables_data_types_optional/exercise/exercise_01.py similarity index 100% rename from 01_python_fundamentals/variables_data_types_optional/exercise/exercise_01.py rename to modules/01_python_fundamentals/variables_data_types_optional/exercise/exercise_01.py diff --git a/01_python_fundamentals/variables_data_types_optional/references/links.md b/modules/01_python_fundamentals/variables_data_types_optional/references/links.md similarity index 100% rename from 01_python_fundamentals/variables_data_types_optional/references/links.md rename to modules/01_python_fundamentals/variables_data_types_optional/references/links.md diff --git a/01_python_fundamentals/variables_data_types_optional/tests/test_basic.py b/modules/01_python_fundamentals/variables_data_types_optional/tests/test_basic.py similarity index 100% rename from 01_python_fundamentals/variables_data_types_optional/tests/test_basic.py rename to modules/01_python_fundamentals/variables_data_types_optional/tests/test_basic.py diff --git a/02_intermediate_python/README.md b/modules/02_intermediate_python/README.md similarity index 100% rename from 02_intermediate_python/README.md rename to modules/02_intermediate_python/README.md diff --git a/02_intermediate_python/advanced_functions/README.md b/modules/02_intermediate_python/advanced_functions/README.md similarity index 100% rename from 02_intermediate_python/advanced_functions/README.md rename to modules/02_intermediate_python/advanced_functions/README.md diff --git a/02_intermediate_python/advanced_functions/examples/example_basic.py b/modules/02_intermediate_python/advanced_functions/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/advanced_functions/examples/example_basic.py rename to modules/02_intermediate_python/advanced_functions/examples/example_basic.py diff --git a/02_intermediate_python/advanced_functions/exercise/exercise_01.py b/modules/02_intermediate_python/advanced_functions/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/advanced_functions/exercise/exercise_01.py rename to modules/02_intermediate_python/advanced_functions/exercise/exercise_01.py diff --git a/02_intermediate_python/advanced_functions/references/links.md b/modules/02_intermediate_python/advanced_functions/references/links.md similarity index 100% rename from 02_intermediate_python/advanced_functions/references/links.md rename to modules/02_intermediate_python/advanced_functions/references/links.md diff --git a/02_intermediate_python/advanced_functions/tests/test_basic.py b/modules/02_intermediate_python/advanced_functions/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/advanced_functions/tests/test_basic.py rename to modules/02_intermediate_python/advanced_functions/tests/test_basic.py diff --git a/02_intermediate_python/basic_context_managers/README.md b/modules/02_intermediate_python/basic_context_managers/README.md similarity index 100% rename from 02_intermediate_python/basic_context_managers/README.md rename to modules/02_intermediate_python/basic_context_managers/README.md diff --git a/02_intermediate_python/basic_context_managers/examples/example_basic.py b/modules/02_intermediate_python/basic_context_managers/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/basic_context_managers/examples/example_basic.py rename to modules/02_intermediate_python/basic_context_managers/examples/example_basic.py diff --git a/02_intermediate_python/basic_context_managers/exercise/exercise_01.py b/modules/02_intermediate_python/basic_context_managers/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/basic_context_managers/exercise/exercise_01.py rename to modules/02_intermediate_python/basic_context_managers/exercise/exercise_01.py diff --git a/02_intermediate_python/basic_context_managers/references/links.md b/modules/02_intermediate_python/basic_context_managers/references/links.md similarity index 100% rename from 02_intermediate_python/basic_context_managers/references/links.md rename to modules/02_intermediate_python/basic_context_managers/references/links.md diff --git a/02_intermediate_python/basic_context_managers/tests/test_basic.py b/modules/02_intermediate_python/basic_context_managers/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/basic_context_managers/tests/test_basic.py rename to modules/02_intermediate_python/basic_context_managers/tests/test_basic.py diff --git a/02_intermediate_python/basic_decorators/README.md b/modules/02_intermediate_python/basic_decorators/README.md similarity index 100% rename from 02_intermediate_python/basic_decorators/README.md rename to modules/02_intermediate_python/basic_decorators/README.md diff --git a/02_intermediate_python/basic_decorators/examples/example_basic.py b/modules/02_intermediate_python/basic_decorators/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/basic_decorators/examples/example_basic.py rename to modules/02_intermediate_python/basic_decorators/examples/example_basic.py diff --git a/02_intermediate_python/basic_decorators/exercise/exercise_01.py b/modules/02_intermediate_python/basic_decorators/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/basic_decorators/exercise/exercise_01.py rename to modules/02_intermediate_python/basic_decorators/exercise/exercise_01.py diff --git a/02_intermediate_python/basic_decorators/references/links.md b/modules/02_intermediate_python/basic_decorators/references/links.md similarity index 100% rename from 02_intermediate_python/basic_decorators/references/links.md rename to modules/02_intermediate_python/basic_decorators/references/links.md diff --git a/02_intermediate_python/basic_decorators/tests/test_basic.py b/modules/02_intermediate_python/basic_decorators/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/basic_decorators/tests/test_basic.py rename to modules/02_intermediate_python/basic_decorators/tests/test_basic.py diff --git a/02_intermediate_python/basic_iterators/README.md b/modules/02_intermediate_python/basic_iterators/README.md similarity index 100% rename from 02_intermediate_python/basic_iterators/README.md rename to modules/02_intermediate_python/basic_iterators/README.md diff --git a/02_intermediate_python/basic_iterators/examples/example_basic.py b/modules/02_intermediate_python/basic_iterators/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/basic_iterators/examples/example_basic.py rename to modules/02_intermediate_python/basic_iterators/examples/example_basic.py diff --git a/02_intermediate_python/basic_iterators/exercise/exercise_01.py b/modules/02_intermediate_python/basic_iterators/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/basic_iterators/exercise/exercise_01.py rename to modules/02_intermediate_python/basic_iterators/exercise/exercise_01.py diff --git a/02_intermediate_python/basic_iterators/references/links.md b/modules/02_intermediate_python/basic_iterators/references/links.md similarity index 100% rename from 02_intermediate_python/basic_iterators/references/links.md rename to modules/02_intermediate_python/basic_iterators/references/links.md diff --git a/02_intermediate_python/basic_iterators/tests/test_basic.py b/modules/02_intermediate_python/basic_iterators/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/basic_iterators/tests/test_basic.py rename to modules/02_intermediate_python/basic_iterators/tests/test_basic.py diff --git a/02_intermediate_python/closures/README.md b/modules/02_intermediate_python/closures/README.md similarity index 100% rename from 02_intermediate_python/closures/README.md rename to modules/02_intermediate_python/closures/README.md diff --git a/02_intermediate_python/closures/examples/example_basic.py b/modules/02_intermediate_python/closures/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/closures/examples/example_basic.py rename to modules/02_intermediate_python/closures/examples/example_basic.py diff --git a/02_intermediate_python/closures/exercise/exercise_01.py b/modules/02_intermediate_python/closures/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/closures/exercise/exercise_01.py rename to modules/02_intermediate_python/closures/exercise/exercise_01.py diff --git a/02_intermediate_python/closures/references/links.md b/modules/02_intermediate_python/closures/references/links.md similarity index 100% rename from 02_intermediate_python/closures/references/links.md rename to modules/02_intermediate_python/closures/references/links.md diff --git a/02_intermediate_python/closures/tests/test_basic.py b/modules/02_intermediate_python/closures/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/closures/tests/test_basic.py rename to modules/02_intermediate_python/closures/tests/test_basic.py diff --git a/02_intermediate_python/collections_module/README.md b/modules/02_intermediate_python/collections_module/README.md similarity index 100% rename from 02_intermediate_python/collections_module/README.md rename to modules/02_intermediate_python/collections_module/README.md diff --git a/02_intermediate_python/collections_module/examples/example_basic.py b/modules/02_intermediate_python/collections_module/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/collections_module/examples/example_basic.py rename to modules/02_intermediate_python/collections_module/examples/example_basic.py diff --git a/02_intermediate_python/collections_module/exercise/exercise_01.py b/modules/02_intermediate_python/collections_module/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/collections_module/exercise/exercise_01.py rename to modules/02_intermediate_python/collections_module/exercise/exercise_01.py diff --git a/02_intermediate_python/collections_module/references/links.md b/modules/02_intermediate_python/collections_module/references/links.md similarity index 100% rename from 02_intermediate_python/collections_module/references/links.md rename to modules/02_intermediate_python/collections_module/references/links.md diff --git a/02_intermediate_python/collections_module/tests/test_basic.py b/modules/02_intermediate_python/collections_module/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/collections_module/tests/test_basic.py rename to modules/02_intermediate_python/collections_module/tests/test_basic.py diff --git a/02_intermediate_python/csv_json/README.md b/modules/02_intermediate_python/csv_json/README.md similarity index 100% rename from 02_intermediate_python/csv_json/README.md rename to modules/02_intermediate_python/csv_json/README.md diff --git a/02_intermediate_python/csv_json/examples/example_basic.py b/modules/02_intermediate_python/csv_json/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/csv_json/examples/example_basic.py rename to modules/02_intermediate_python/csv_json/examples/example_basic.py diff --git a/02_intermediate_python/csv_json/exercise/exercise_01.py b/modules/02_intermediate_python/csv_json/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/csv_json/exercise/exercise_01.py rename to modules/02_intermediate_python/csv_json/exercise/exercise_01.py diff --git a/02_intermediate_python/csv_json/references/links.md b/modules/02_intermediate_python/csv_json/references/links.md similarity index 100% rename from 02_intermediate_python/csv_json/references/links.md rename to modules/02_intermediate_python/csv_json/references/links.md diff --git a/02_intermediate_python/csv_json/tests/test_basic.py b/modules/02_intermediate_python/csv_json/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/csv_json/tests/test_basic.py rename to modules/02_intermediate_python/csv_json/tests/test_basic.py diff --git a/02_intermediate_python/datetime_time/README.md b/modules/02_intermediate_python/datetime_time/README.md similarity index 100% rename from 02_intermediate_python/datetime_time/README.md rename to modules/02_intermediate_python/datetime_time/README.md diff --git a/02_intermediate_python/datetime_time/examples/example_basic.py b/modules/02_intermediate_python/datetime_time/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/datetime_time/examples/example_basic.py rename to modules/02_intermediate_python/datetime_time/examples/example_basic.py diff --git a/02_intermediate_python/datetime_time/exercise/exercise_01.py b/modules/02_intermediate_python/datetime_time/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/datetime_time/exercise/exercise_01.py rename to modules/02_intermediate_python/datetime_time/exercise/exercise_01.py diff --git a/02_intermediate_python/datetime_time/references/links.md b/modules/02_intermediate_python/datetime_time/references/links.md similarity index 100% rename from 02_intermediate_python/datetime_time/references/links.md rename to modules/02_intermediate_python/datetime_time/references/links.md diff --git a/02_intermediate_python/datetime_time/tests/test_basic.py b/modules/02_intermediate_python/datetime_time/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/datetime_time/tests/test_basic.py rename to modules/02_intermediate_python/datetime_time/tests/test_basic.py diff --git a/02_intermediate_python/exception_handling/README.md b/modules/02_intermediate_python/exception_handling/README.md similarity index 100% rename from 02_intermediate_python/exception_handling/README.md rename to modules/02_intermediate_python/exception_handling/README.md diff --git a/02_intermediate_python/exception_handling/examples/example_basic.py b/modules/02_intermediate_python/exception_handling/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/exception_handling/examples/example_basic.py rename to modules/02_intermediate_python/exception_handling/examples/example_basic.py diff --git a/02_intermediate_python/exception_handling/exercise/exercise_01.py b/modules/02_intermediate_python/exception_handling/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/exception_handling/exercise/exercise_01.py rename to modules/02_intermediate_python/exception_handling/exercise/exercise_01.py diff --git a/02_intermediate_python/exception_handling/references/links.md b/modules/02_intermediate_python/exception_handling/references/links.md similarity index 100% rename from 02_intermediate_python/exception_handling/references/links.md rename to modules/02_intermediate_python/exception_handling/references/links.md diff --git a/02_intermediate_python/exception_handling/tests/test_basic.py b/modules/02_intermediate_python/exception_handling/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/exception_handling/tests/test_basic.py rename to modules/02_intermediate_python/exception_handling/tests/test_basic.py diff --git a/02_intermediate_python/generators/README.md b/modules/02_intermediate_python/generators/README.md similarity index 100% rename from 02_intermediate_python/generators/README.md rename to modules/02_intermediate_python/generators/README.md diff --git a/02_intermediate_python/generators/examples/example_basic.py b/modules/02_intermediate_python/generators/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/generators/examples/example_basic.py rename to modules/02_intermediate_python/generators/examples/example_basic.py diff --git a/02_intermediate_python/generators/exercise/exercise_01.py b/modules/02_intermediate_python/generators/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/generators/exercise/exercise_01.py rename to modules/02_intermediate_python/generators/exercise/exercise_01.py diff --git a/02_intermediate_python/generators/references/links.md b/modules/02_intermediate_python/generators/references/links.md similarity index 100% rename from 02_intermediate_python/generators/references/links.md rename to modules/02_intermediate_python/generators/references/links.md diff --git a/02_intermediate_python/generators/tests/test_basic.py b/modules/02_intermediate_python/generators/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/generators/tests/test_basic.py rename to modules/02_intermediate_python/generators/tests/test_basic.py diff --git a/02_intermediate_python/itertools/README.md b/modules/02_intermediate_python/itertools/README.md similarity index 100% rename from 02_intermediate_python/itertools/README.md rename to modules/02_intermediate_python/itertools/README.md diff --git a/02_intermediate_python/itertools/examples/example_basic.py b/modules/02_intermediate_python/itertools/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/itertools/examples/example_basic.py rename to modules/02_intermediate_python/itertools/examples/example_basic.py diff --git a/02_intermediate_python/itertools/exercise/exercise_01.py b/modules/02_intermediate_python/itertools/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/itertools/exercise/exercise_01.py rename to modules/02_intermediate_python/itertools/exercise/exercise_01.py diff --git a/02_intermediate_python/itertools/references/links.md b/modules/02_intermediate_python/itertools/references/links.md similarity index 100% rename from 02_intermediate_python/itertools/references/links.md rename to modules/02_intermediate_python/itertools/references/links.md diff --git a/02_intermediate_python/itertools/tests/test_basic.py b/modules/02_intermediate_python/itertools/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/itertools/tests/test_basic.py rename to modules/02_intermediate_python/itertools/tests/test_basic.py diff --git a/02_intermediate_python/modules_packages/README.md b/modules/02_intermediate_python/modules_packages/README.md similarity index 100% rename from 02_intermediate_python/modules_packages/README.md rename to modules/02_intermediate_python/modules_packages/README.md diff --git a/02_intermediate_python/modules_packages/examples/example_basic.py b/modules/02_intermediate_python/modules_packages/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/modules_packages/examples/example_basic.py rename to modules/02_intermediate_python/modules_packages/examples/example_basic.py diff --git a/02_intermediate_python/modules_packages/exercise/exercise_01.py b/modules/02_intermediate_python/modules_packages/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/modules_packages/exercise/exercise_01.py rename to modules/02_intermediate_python/modules_packages/exercise/exercise_01.py diff --git a/02_intermediate_python/modules_packages/references/links.md b/modules/02_intermediate_python/modules_packages/references/links.md similarity index 100% rename from 02_intermediate_python/modules_packages/references/links.md rename to modules/02_intermediate_python/modules_packages/references/links.md diff --git a/02_intermediate_python/modules_packages/tests/test_basic.py b/modules/02_intermediate_python/modules_packages/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/modules_packages/tests/test_basic.py rename to modules/02_intermediate_python/modules_packages/tests/test_basic.py diff --git a/02_intermediate_python/pathlib/README.md b/modules/02_intermediate_python/pathlib/README.md similarity index 100% rename from 02_intermediate_python/pathlib/README.md rename to modules/02_intermediate_python/pathlib/README.md diff --git a/02_intermediate_python/pathlib/examples/example_basic.py b/modules/02_intermediate_python/pathlib/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/pathlib/examples/example_basic.py rename to modules/02_intermediate_python/pathlib/examples/example_basic.py diff --git a/02_intermediate_python/pathlib/exercise/exercise_01.py b/modules/02_intermediate_python/pathlib/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/pathlib/exercise/exercise_01.py rename to modules/02_intermediate_python/pathlib/exercise/exercise_01.py diff --git a/02_intermediate_python/pathlib/references/links.md b/modules/02_intermediate_python/pathlib/references/links.md similarity index 100% rename from 02_intermediate_python/pathlib/references/links.md rename to modules/02_intermediate_python/pathlib/references/links.md diff --git a/02_intermediate_python/pathlib/tests/test_basic.py b/modules/02_intermediate_python/pathlib/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/pathlib/tests/test_basic.py rename to modules/02_intermediate_python/pathlib/tests/test_basic.py diff --git a/02_intermediate_python/regex_optional/README.md b/modules/02_intermediate_python/regex_optional/README.md similarity index 100% rename from 02_intermediate_python/regex_optional/README.md rename to modules/02_intermediate_python/regex_optional/README.md diff --git a/02_intermediate_python/regex_optional/examples/example_basic.py b/modules/02_intermediate_python/regex_optional/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/regex_optional/examples/example_basic.py rename to modules/02_intermediate_python/regex_optional/examples/example_basic.py diff --git a/02_intermediate_python/regex_optional/exercise/exercise_01.py b/modules/02_intermediate_python/regex_optional/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/regex_optional/exercise/exercise_01.py rename to modules/02_intermediate_python/regex_optional/exercise/exercise_01.py diff --git a/02_intermediate_python/regex_optional/references/links.md b/modules/02_intermediate_python/regex_optional/references/links.md similarity index 100% rename from 02_intermediate_python/regex_optional/references/links.md rename to modules/02_intermediate_python/regex_optional/references/links.md diff --git a/02_intermediate_python/regex_optional/tests/test_basic.py b/modules/02_intermediate_python/regex_optional/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/regex_optional/tests/test_basic.py rename to modules/02_intermediate_python/regex_optional/tests/test_basic.py diff --git a/02_intermediate_python/text_file_handling/README.md b/modules/02_intermediate_python/text_file_handling/README.md similarity index 100% rename from 02_intermediate_python/text_file_handling/README.md rename to modules/02_intermediate_python/text_file_handling/README.md diff --git a/02_intermediate_python/text_file_handling/examples/example_basic.py b/modules/02_intermediate_python/text_file_handling/examples/example_basic.py similarity index 100% rename from 02_intermediate_python/text_file_handling/examples/example_basic.py rename to modules/02_intermediate_python/text_file_handling/examples/example_basic.py diff --git a/02_intermediate_python/text_file_handling/exercise/exercise_01.py b/modules/02_intermediate_python/text_file_handling/exercise/exercise_01.py similarity index 100% rename from 02_intermediate_python/text_file_handling/exercise/exercise_01.py rename to modules/02_intermediate_python/text_file_handling/exercise/exercise_01.py diff --git a/02_intermediate_python/text_file_handling/references/links.md b/modules/02_intermediate_python/text_file_handling/references/links.md similarity index 100% rename from 02_intermediate_python/text_file_handling/references/links.md rename to modules/02_intermediate_python/text_file_handling/references/links.md diff --git a/02_intermediate_python/text_file_handling/tests/test_basic.py b/modules/02_intermediate_python/text_file_handling/tests/test_basic.py similarity index 100% rename from 02_intermediate_python/text_file_handling/tests/test_basic.py rename to modules/02_intermediate_python/text_file_handling/tests/test_basic.py diff --git a/03_basic_intermediate_oop/README.md b/modules/03_basic_intermediate_oop/README.md similarity index 100% rename from 03_basic_intermediate_oop/README.md rename to modules/03_basic_intermediate_oop/README.md diff --git a/03_basic_intermediate_oop/attributes_methods/README.md b/modules/03_basic_intermediate_oop/attributes_methods/README.md similarity index 100% rename from 03_basic_intermediate_oop/attributes_methods/README.md rename to modules/03_basic_intermediate_oop/attributes_methods/README.md diff --git a/03_basic_intermediate_oop/attributes_methods/examples/example_basic.py b/modules/03_basic_intermediate_oop/attributes_methods/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/attributes_methods/examples/example_basic.py rename to modules/03_basic_intermediate_oop/attributes_methods/examples/example_basic.py diff --git a/03_basic_intermediate_oop/attributes_methods/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/attributes_methods/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/attributes_methods/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/attributes_methods/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/attributes_methods/references/links.md b/modules/03_basic_intermediate_oop/attributes_methods/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/attributes_methods/references/links.md rename to modules/03_basic_intermediate_oop/attributes_methods/references/links.md diff --git a/03_basic_intermediate_oop/attributes_methods/tests/test_basic.py b/modules/03_basic_intermediate_oop/attributes_methods/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/attributes_methods/tests/test_basic.py rename to modules/03_basic_intermediate_oop/attributes_methods/tests/test_basic.py diff --git a/03_basic_intermediate_oop/basic_descriptors/README.md b/modules/03_basic_intermediate_oop/basic_descriptors/README.md similarity index 100% rename from 03_basic_intermediate_oop/basic_descriptors/README.md rename to modules/03_basic_intermediate_oop/basic_descriptors/README.md diff --git a/03_basic_intermediate_oop/basic_descriptors/examples/example_basic.py b/modules/03_basic_intermediate_oop/basic_descriptors/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/basic_descriptors/examples/example_basic.py rename to modules/03_basic_intermediate_oop/basic_descriptors/examples/example_basic.py diff --git a/03_basic_intermediate_oop/basic_descriptors/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/basic_descriptors/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/basic_descriptors/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/basic_descriptors/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/basic_descriptors/references/links.md b/modules/03_basic_intermediate_oop/basic_descriptors/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/basic_descriptors/references/links.md rename to modules/03_basic_intermediate_oop/basic_descriptors/references/links.md diff --git a/03_basic_intermediate_oop/basic_descriptors/tests/test_basic.py b/modules/03_basic_intermediate_oop/basic_descriptors/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/basic_descriptors/tests/test_basic.py rename to modules/03_basic_intermediate_oop/basic_descriptors/tests/test_basic.py diff --git a/03_basic_intermediate_oop/basic_inheritance/README.md b/modules/03_basic_intermediate_oop/basic_inheritance/README.md similarity index 100% rename from 03_basic_intermediate_oop/basic_inheritance/README.md rename to modules/03_basic_intermediate_oop/basic_inheritance/README.md diff --git a/03_basic_intermediate_oop/basic_inheritance/examples/example_basic.py b/modules/03_basic_intermediate_oop/basic_inheritance/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/basic_inheritance/examples/example_basic.py rename to modules/03_basic_intermediate_oop/basic_inheritance/examples/example_basic.py diff --git a/03_basic_intermediate_oop/basic_inheritance/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/basic_inheritance/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/basic_inheritance/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/basic_inheritance/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/basic_inheritance/references/links.md b/modules/03_basic_intermediate_oop/basic_inheritance/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/basic_inheritance/references/links.md rename to modules/03_basic_intermediate_oop/basic_inheritance/references/links.md diff --git a/03_basic_intermediate_oop/basic_inheritance/tests/test_basic.py b/modules/03_basic_intermediate_oop/basic_inheritance/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/basic_inheritance/tests/test_basic.py rename to modules/03_basic_intermediate_oop/basic_inheritance/tests/test_basic.py diff --git a/03_basic_intermediate_oop/classes_objects/README.md b/modules/03_basic_intermediate_oop/classes_objects/README.md similarity index 100% rename from 03_basic_intermediate_oop/classes_objects/README.md rename to modules/03_basic_intermediate_oop/classes_objects/README.md diff --git a/03_basic_intermediate_oop/classes_objects/examples/example_basic.py b/modules/03_basic_intermediate_oop/classes_objects/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/classes_objects/examples/example_basic.py rename to modules/03_basic_intermediate_oop/classes_objects/examples/example_basic.py diff --git a/03_basic_intermediate_oop/classes_objects/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/classes_objects/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/classes_objects/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/classes_objects/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/classes_objects/references/links.md b/modules/03_basic_intermediate_oop/classes_objects/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/classes_objects/references/links.md rename to modules/03_basic_intermediate_oop/classes_objects/references/links.md diff --git a/03_basic_intermediate_oop/classes_objects/tests/test_basic.py b/modules/03_basic_intermediate_oop/classes_objects/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/classes_objects/tests/test_basic.py rename to modules/03_basic_intermediate_oop/classes_objects/tests/test_basic.py diff --git a/03_basic_intermediate_oop/composition_vs_inheritance/README.md b/modules/03_basic_intermediate_oop/composition_vs_inheritance/README.md similarity index 100% rename from 03_basic_intermediate_oop/composition_vs_inheritance/README.md rename to modules/03_basic_intermediate_oop/composition_vs_inheritance/README.md diff --git a/03_basic_intermediate_oop/composition_vs_inheritance/examples/example_basic.py b/modules/03_basic_intermediate_oop/composition_vs_inheritance/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/composition_vs_inheritance/examples/example_basic.py rename to modules/03_basic_intermediate_oop/composition_vs_inheritance/examples/example_basic.py diff --git a/03_basic_intermediate_oop/composition_vs_inheritance/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/composition_vs_inheritance/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/composition_vs_inheritance/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/composition_vs_inheritance/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/composition_vs_inheritance/references/links.md b/modules/03_basic_intermediate_oop/composition_vs_inheritance/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/composition_vs_inheritance/references/links.md rename to modules/03_basic_intermediate_oop/composition_vs_inheritance/references/links.md diff --git a/03_basic_intermediate_oop/composition_vs_inheritance/tests/test_basic.py b/modules/03_basic_intermediate_oop/composition_vs_inheritance/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/composition_vs_inheritance/tests/test_basic.py rename to modules/03_basic_intermediate_oop/composition_vs_inheritance/tests/test_basic.py diff --git a/03_basic_intermediate_oop/dataclasses_optional/README.md b/modules/03_basic_intermediate_oop/dataclasses_optional/README.md similarity index 100% rename from 03_basic_intermediate_oop/dataclasses_optional/README.md rename to modules/03_basic_intermediate_oop/dataclasses_optional/README.md diff --git a/03_basic_intermediate_oop/dataclasses_optional/examples/example_basic.py b/modules/03_basic_intermediate_oop/dataclasses_optional/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/dataclasses_optional/examples/example_basic.py rename to modules/03_basic_intermediate_oop/dataclasses_optional/examples/example_basic.py diff --git a/03_basic_intermediate_oop/dataclasses_optional/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/dataclasses_optional/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/dataclasses_optional/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/dataclasses_optional/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/dataclasses_optional/references/links.md b/modules/03_basic_intermediate_oop/dataclasses_optional/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/dataclasses_optional/references/links.md rename to modules/03_basic_intermediate_oop/dataclasses_optional/references/links.md diff --git a/03_basic_intermediate_oop/dataclasses_optional/tests/test_basic.py b/modules/03_basic_intermediate_oop/dataclasses_optional/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/dataclasses_optional/tests/test_basic.py rename to modules/03_basic_intermediate_oop/dataclasses_optional/tests/test_basic.py diff --git a/03_basic_intermediate_oop/encapsulation/README.md b/modules/03_basic_intermediate_oop/encapsulation/README.md similarity index 100% rename from 03_basic_intermediate_oop/encapsulation/README.md rename to modules/03_basic_intermediate_oop/encapsulation/README.md diff --git a/03_basic_intermediate_oop/encapsulation/examples/example_basic.py b/modules/03_basic_intermediate_oop/encapsulation/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/encapsulation/examples/example_basic.py rename to modules/03_basic_intermediate_oop/encapsulation/examples/example_basic.py diff --git a/03_basic_intermediate_oop/encapsulation/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/encapsulation/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/encapsulation/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/encapsulation/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/encapsulation/references/links.md b/modules/03_basic_intermediate_oop/encapsulation/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/encapsulation/references/links.md rename to modules/03_basic_intermediate_oop/encapsulation/references/links.md diff --git a/03_basic_intermediate_oop/encapsulation/tests/test_basic.py b/modules/03_basic_intermediate_oop/encapsulation/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/encapsulation/tests/test_basic.py rename to modules/03_basic_intermediate_oop/encapsulation/tests/test_basic.py diff --git a/03_basic_intermediate_oop/init_self/README.md b/modules/03_basic_intermediate_oop/init_self/README.md similarity index 100% rename from 03_basic_intermediate_oop/init_self/README.md rename to modules/03_basic_intermediate_oop/init_self/README.md diff --git a/03_basic_intermediate_oop/init_self/examples/example_basic.py b/modules/03_basic_intermediate_oop/init_self/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/init_self/examples/example_basic.py rename to modules/03_basic_intermediate_oop/init_self/examples/example_basic.py diff --git a/03_basic_intermediate_oop/init_self/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/init_self/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/init_self/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/init_self/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/init_self/references/links.md b/modules/03_basic_intermediate_oop/init_self/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/init_self/references/links.md rename to modules/03_basic_intermediate_oop/init_self/references/links.md diff --git a/03_basic_intermediate_oop/init_self/tests/test_basic.py b/modules/03_basic_intermediate_oop/init_self/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/init_self/tests/test_basic.py rename to modules/03_basic_intermediate_oop/init_self/tests/test_basic.py diff --git a/03_basic_intermediate_oop/multiple_inheritance/README.md b/modules/03_basic_intermediate_oop/multiple_inheritance/README.md similarity index 100% rename from 03_basic_intermediate_oop/multiple_inheritance/README.md rename to modules/03_basic_intermediate_oop/multiple_inheritance/README.md diff --git a/03_basic_intermediate_oop/multiple_inheritance/examples/example_basic.py b/modules/03_basic_intermediate_oop/multiple_inheritance/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/multiple_inheritance/examples/example_basic.py rename to modules/03_basic_intermediate_oop/multiple_inheritance/examples/example_basic.py diff --git a/03_basic_intermediate_oop/multiple_inheritance/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/multiple_inheritance/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/multiple_inheritance/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/multiple_inheritance/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/multiple_inheritance/references/links.md b/modules/03_basic_intermediate_oop/multiple_inheritance/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/multiple_inheritance/references/links.md rename to modules/03_basic_intermediate_oop/multiple_inheritance/references/links.md diff --git a/03_basic_intermediate_oop/multiple_inheritance/tests/test_basic.py b/modules/03_basic_intermediate_oop/multiple_inheritance/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/multiple_inheritance/tests/test_basic.py rename to modules/03_basic_intermediate_oop/multiple_inheritance/tests/test_basic.py diff --git a/03_basic_intermediate_oop/polymorphism/README.md b/modules/03_basic_intermediate_oop/polymorphism/README.md similarity index 100% rename from 03_basic_intermediate_oop/polymorphism/README.md rename to modules/03_basic_intermediate_oop/polymorphism/README.md diff --git a/03_basic_intermediate_oop/polymorphism/examples/example_basic.py b/modules/03_basic_intermediate_oop/polymorphism/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/polymorphism/examples/example_basic.py rename to modules/03_basic_intermediate_oop/polymorphism/examples/example_basic.py diff --git a/03_basic_intermediate_oop/polymorphism/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/polymorphism/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/polymorphism/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/polymorphism/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/polymorphism/references/links.md b/modules/03_basic_intermediate_oop/polymorphism/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/polymorphism/references/links.md rename to modules/03_basic_intermediate_oop/polymorphism/references/links.md diff --git a/03_basic_intermediate_oop/polymorphism/tests/test_basic.py b/modules/03_basic_intermediate_oop/polymorphism/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/polymorphism/tests/test_basic.py rename to modules/03_basic_intermediate_oop/polymorphism/tests/test_basic.py diff --git a/03_basic_intermediate_oop/properties/README.md b/modules/03_basic_intermediate_oop/properties/README.md similarity index 100% rename from 03_basic_intermediate_oop/properties/README.md rename to modules/03_basic_intermediate_oop/properties/README.md diff --git a/03_basic_intermediate_oop/properties/examples/example_basic.py b/modules/03_basic_intermediate_oop/properties/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/properties/examples/example_basic.py rename to modules/03_basic_intermediate_oop/properties/examples/example_basic.py diff --git a/03_basic_intermediate_oop/properties/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/properties/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/properties/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/properties/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/properties/references/links.md b/modules/03_basic_intermediate_oop/properties/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/properties/references/links.md rename to modules/03_basic_intermediate_oop/properties/references/links.md diff --git a/03_basic_intermediate_oop/properties/tests/test_basic.py b/modules/03_basic_intermediate_oop/properties/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/properties/tests/test_basic.py rename to modules/03_basic_intermediate_oop/properties/tests/test_basic.py diff --git a/03_basic_intermediate_oop/special_methods/README.md b/modules/03_basic_intermediate_oop/special_methods/README.md similarity index 100% rename from 03_basic_intermediate_oop/special_methods/README.md rename to modules/03_basic_intermediate_oop/special_methods/README.md diff --git a/03_basic_intermediate_oop/special_methods/examples/example_basic.py b/modules/03_basic_intermediate_oop/special_methods/examples/example_basic.py similarity index 100% rename from 03_basic_intermediate_oop/special_methods/examples/example_basic.py rename to modules/03_basic_intermediate_oop/special_methods/examples/example_basic.py diff --git a/03_basic_intermediate_oop/special_methods/exercise/exercise_01.py b/modules/03_basic_intermediate_oop/special_methods/exercise/exercise_01.py similarity index 100% rename from 03_basic_intermediate_oop/special_methods/exercise/exercise_01.py rename to modules/03_basic_intermediate_oop/special_methods/exercise/exercise_01.py diff --git a/03_basic_intermediate_oop/special_methods/references/links.md b/modules/03_basic_intermediate_oop/special_methods/references/links.md similarity index 100% rename from 03_basic_intermediate_oop/special_methods/references/links.md rename to modules/03_basic_intermediate_oop/special_methods/references/links.md diff --git a/03_basic_intermediate_oop/special_methods/tests/test_basic.py b/modules/03_basic_intermediate_oop/special_methods/tests/test_basic.py similarity index 100% rename from 03_basic_intermediate_oop/special_methods/tests/test_basic.py rename to modules/03_basic_intermediate_oop/special_methods/tests/test_basic.py diff --git a/04_cpython_internals_advanced/01_gil_history/README.md b/modules/04_cpython_internals_advanced/01_gil_history/README.md similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/README.md rename to modules/04_cpython_internals_advanced/01_gil_history/README.md diff --git a/04_cpython_internals_advanced/01_gil_history/examples/example_basic.py b/modules/04_cpython_internals_advanced/01_gil_history/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/examples/example_basic.py rename to modules/04_cpython_internals_advanced/01_gil_history/examples/example_basic.py diff --git a/04_cpython_internals_advanced/01_gil_history/examples/gil_demonstration.py b/modules/04_cpython_internals_advanced/01_gil_history/examples/gil_demonstration.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/examples/gil_demonstration.py rename to modules/04_cpython_internals_advanced/01_gil_history/examples/gil_demonstration.py diff --git a/04_cpython_internals_advanced/01_gil_history/examples/gil_vs_multiprocessing.py b/modules/04_cpython_internals_advanced/01_gil_history/examples/gil_vs_multiprocessing.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/examples/gil_vs_multiprocessing.py rename to modules/04_cpython_internals_advanced/01_gil_history/examples/gil_vs_multiprocessing.py diff --git a/04_cpython_internals_advanced/01_gil_history/exercise/advanced_exercise.py b/modules/04_cpython_internals_advanced/01_gil_history/exercise/advanced_exercise.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/exercise/advanced_exercise.py rename to modules/04_cpython_internals_advanced/01_gil_history/exercise/advanced_exercise.py diff --git a/04_cpython_internals_advanced/01_gil_history/exercise/basic_exercise.py b/modules/04_cpython_internals_advanced/01_gil_history/exercise/basic_exercise.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/exercise/basic_exercise.py rename to modules/04_cpython_internals_advanced/01_gil_history/exercise/basic_exercise.py diff --git a/04_cpython_internals_advanced/01_gil_history/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/01_gil_history/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/01_gil_history/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/01_gil_history/exercise/intermediate_exercise.py b/modules/04_cpython_internals_advanced/01_gil_history/exercise/intermediate_exercise.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/exercise/intermediate_exercise.py rename to modules/04_cpython_internals_advanced/01_gil_history/exercise/intermediate_exercise.py diff --git a/04_cpython_internals_advanced/01_gil_history/references/links.md b/modules/04_cpython_internals_advanced/01_gil_history/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/references/links.md rename to modules/04_cpython_internals_advanced/01_gil_history/references/links.md diff --git a/04_cpython_internals_advanced/01_gil_history/tests/test_advanced.py b/modules/04_cpython_internals_advanced/01_gil_history/tests/test_advanced.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/tests/test_advanced.py rename to modules/04_cpython_internals_advanced/01_gil_history/tests/test_advanced.py diff --git a/04_cpython_internals_advanced/01_gil_history/tests/test_basic.py b/modules/04_cpython_internals_advanced/01_gil_history/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/tests/test_basic.py rename to modules/04_cpython_internals_advanced/01_gil_history/tests/test_basic.py diff --git a/04_cpython_internals_advanced/01_gil_history/tests/test_intermediate.py b/modules/04_cpython_internals_advanced/01_gil_history/tests/test_intermediate.py similarity index 100% rename from 04_cpython_internals_advanced/01_gil_history/tests/test_intermediate.py rename to modules/04_cpython_internals_advanced/01_gil_history/tests/test_intermediate.py diff --git a/04_cpython_internals_advanced/02_gil_limitations/README.md b/modules/04_cpython_internals_advanced/02_gil_limitations/README.md similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/README.md rename to modules/04_cpython_internals_advanced/02_gil_limitations/README.md diff --git a/04_cpython_internals_advanced/02_gil_limitations/examples/example_basic.py b/modules/04_cpython_internals_advanced/02_gil_limitations/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/examples/example_basic.py rename to modules/04_cpython_internals_advanced/02_gil_limitations/examples/example_basic.py diff --git a/04_cpython_internals_advanced/02_gil_limitations/examples/gil_contention_viz.py b/modules/04_cpython_internals_advanced/02_gil_limitations/examples/gil_contention_viz.py similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/examples/gil_contention_viz.py rename to modules/04_cpython_internals_advanced/02_gil_limitations/examples/gil_contention_viz.py diff --git a/04_cpython_internals_advanced/02_gil_limitations/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/02_gil_limitations/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/02_gil_limitations/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/02_gil_limitations/references/links.md b/modules/04_cpython_internals_advanced/02_gil_limitations/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/references/links.md rename to modules/04_cpython_internals_advanced/02_gil_limitations/references/links.md diff --git a/04_cpython_internals_advanced/02_gil_limitations/tests/test_basic.py b/modules/04_cpython_internals_advanced/02_gil_limitations/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/02_gil_limitations/tests/test_basic.py rename to modules/04_cpython_internals_advanced/02_gil_limitations/tests/test_basic.py diff --git a/04_cpython_internals_advanced/03_pep_703_free_threading/README.md b/modules/04_cpython_internals_advanced/03_pep_703_free_threading/README.md similarity index 100% rename from 04_cpython_internals_advanced/03_pep_703_free_threading/README.md rename to modules/04_cpython_internals_advanced/03_pep_703_free_threading/README.md diff --git a/04_cpython_internals_advanced/03_pep_703_free_threading/examples/example_basic.py b/modules/04_cpython_internals_advanced/03_pep_703_free_threading/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/03_pep_703_free_threading/examples/example_basic.py rename to modules/04_cpython_internals_advanced/03_pep_703_free_threading/examples/example_basic.py diff --git a/04_cpython_internals_advanced/03_pep_703_free_threading/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/03_pep_703_free_threading/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/03_pep_703_free_threading/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/03_pep_703_free_threading/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/03_pep_703_free_threading/references/links.md b/modules/04_cpython_internals_advanced/03_pep_703_free_threading/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/03_pep_703_free_threading/references/links.md rename to modules/04_cpython_internals_advanced/03_pep_703_free_threading/references/links.md diff --git a/04_cpython_internals_advanced/03_pep_703_free_threading/tests/test_basic.py b/modules/04_cpython_internals_advanced/03_pep_703_free_threading/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/03_pep_703_free_threading/tests/test_basic.py rename to modules/04_cpython_internals_advanced/03_pep_703_free_threading/tests/test_basic.py diff --git a/04_cpython_internals_advanced/04_free_threading_activation/README.md b/modules/04_cpython_internals_advanced/04_free_threading_activation/README.md similarity index 100% rename from 04_cpython_internals_advanced/04_free_threading_activation/README.md rename to modules/04_cpython_internals_advanced/04_free_threading_activation/README.md diff --git a/04_cpython_internals_advanced/04_free_threading_activation/examples/example_basic.py b/modules/04_cpython_internals_advanced/04_free_threading_activation/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/04_free_threading_activation/examples/example_basic.py rename to modules/04_cpython_internals_advanced/04_free_threading_activation/examples/example_basic.py diff --git a/04_cpython_internals_advanced/04_free_threading_activation/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/04_free_threading_activation/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/04_free_threading_activation/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/04_free_threading_activation/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/04_free_threading_activation/references/links.md b/modules/04_cpython_internals_advanced/04_free_threading_activation/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/04_free_threading_activation/references/links.md rename to modules/04_cpython_internals_advanced/04_free_threading_activation/references/links.md diff --git a/04_cpython_internals_advanced/04_free_threading_activation/tests/test_basic.py b/modules/04_cpython_internals_advanced/04_free_threading_activation/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/04_free_threading_activation/tests/test_basic.py rename to modules/04_cpython_internals_advanced/04_free_threading_activation/tests/test_basic.py diff --git a/04_cpython_internals_advanced/05_gil_free_architecture/README.md b/modules/04_cpython_internals_advanced/05_gil_free_architecture/README.md similarity index 100% rename from 04_cpython_internals_advanced/05_gil_free_architecture/README.md rename to modules/04_cpython_internals_advanced/05_gil_free_architecture/README.md diff --git a/04_cpython_internals_advanced/05_gil_free_architecture/examples/example_basic.py b/modules/04_cpython_internals_advanced/05_gil_free_architecture/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/05_gil_free_architecture/examples/example_basic.py rename to modules/04_cpython_internals_advanced/05_gil_free_architecture/examples/example_basic.py diff --git a/04_cpython_internals_advanced/05_gil_free_architecture/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/05_gil_free_architecture/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/05_gil_free_architecture/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/05_gil_free_architecture/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/05_gil_free_architecture/references/links.md b/modules/04_cpython_internals_advanced/05_gil_free_architecture/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/05_gil_free_architecture/references/links.md rename to modules/04_cpython_internals_advanced/05_gil_free_architecture/references/links.md diff --git a/04_cpython_internals_advanced/05_gil_free_architecture/tests/test_basic.py b/modules/04_cpython_internals_advanced/05_gil_free_architecture/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/05_gil_free_architecture/tests/test_basic.py rename to modules/04_cpython_internals_advanced/05_gil_free_architecture/tests/test_basic.py diff --git a/04_cpython_internals_advanced/06_biased_reference_counting/README.md b/modules/04_cpython_internals_advanced/06_biased_reference_counting/README.md similarity index 100% rename from 04_cpython_internals_advanced/06_biased_reference_counting/README.md rename to modules/04_cpython_internals_advanced/06_biased_reference_counting/README.md diff --git a/04_cpython_internals_advanced/06_biased_reference_counting/examples/example_basic.py b/modules/04_cpython_internals_advanced/06_biased_reference_counting/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/06_biased_reference_counting/examples/example_basic.py rename to modules/04_cpython_internals_advanced/06_biased_reference_counting/examples/example_basic.py diff --git a/04_cpython_internals_advanced/06_biased_reference_counting/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/06_biased_reference_counting/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/06_biased_reference_counting/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/06_biased_reference_counting/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/06_biased_reference_counting/references/links.md b/modules/04_cpython_internals_advanced/06_biased_reference_counting/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/06_biased_reference_counting/references/links.md rename to modules/04_cpython_internals_advanced/06_biased_reference_counting/references/links.md diff --git a/04_cpython_internals_advanced/06_biased_reference_counting/tests/test_basic.py b/modules/04_cpython_internals_advanced/06_biased_reference_counting/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/06_biased_reference_counting/tests/test_basic.py rename to modules/04_cpython_internals_advanced/06_biased_reference_counting/tests/test_basic.py diff --git a/04_cpython_internals_advanced/07_gc_thread_safe/README.md b/modules/04_cpython_internals_advanced/07_gc_thread_safe/README.md similarity index 100% rename from 04_cpython_internals_advanced/07_gc_thread_safe/README.md rename to modules/04_cpython_internals_advanced/07_gc_thread_safe/README.md diff --git a/04_cpython_internals_advanced/07_gc_thread_safe/examples/example_basic.py b/modules/04_cpython_internals_advanced/07_gc_thread_safe/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/07_gc_thread_safe/examples/example_basic.py rename to modules/04_cpython_internals_advanced/07_gc_thread_safe/examples/example_basic.py diff --git a/04_cpython_internals_advanced/07_gc_thread_safe/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/07_gc_thread_safe/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/07_gc_thread_safe/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/07_gc_thread_safe/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/07_gc_thread_safe/references/links.md b/modules/04_cpython_internals_advanced/07_gc_thread_safe/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/07_gc_thread_safe/references/links.md rename to modules/04_cpython_internals_advanced/07_gc_thread_safe/references/links.md diff --git a/04_cpython_internals_advanced/07_gc_thread_safe/tests/test_basic.py b/modules/04_cpython_internals_advanced/07_gc_thread_safe/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/07_gc_thread_safe/tests/test_basic.py rename to modules/04_cpython_internals_advanced/07_gc_thread_safe/tests/test_basic.py diff --git a/04_cpython_internals_advanced/08_performance_benchmarks/README.md b/modules/04_cpython_internals_advanced/08_performance_benchmarks/README.md similarity index 100% rename from 04_cpython_internals_advanced/08_performance_benchmarks/README.md rename to modules/04_cpython_internals_advanced/08_performance_benchmarks/README.md diff --git a/04_cpython_internals_advanced/08_performance_benchmarks/examples/example_basic.py b/modules/04_cpython_internals_advanced/08_performance_benchmarks/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/08_performance_benchmarks/examples/example_basic.py rename to modules/04_cpython_internals_advanced/08_performance_benchmarks/examples/example_basic.py diff --git a/04_cpython_internals_advanced/08_performance_benchmarks/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/08_performance_benchmarks/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/08_performance_benchmarks/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/08_performance_benchmarks/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/08_performance_benchmarks/references/links.md b/modules/04_cpython_internals_advanced/08_performance_benchmarks/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/08_performance_benchmarks/references/links.md rename to modules/04_cpython_internals_advanced/08_performance_benchmarks/references/links.md diff --git a/04_cpython_internals_advanced/08_performance_benchmarks/tests/test_basic.py b/modules/04_cpython_internals_advanced/08_performance_benchmarks/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/08_performance_benchmarks/tests/test_basic.py rename to modules/04_cpython_internals_advanced/08_performance_benchmarks/tests/test_basic.py diff --git a/04_cpython_internals_advanced/09_c_extensions_compatibility/README.md b/modules/04_cpython_internals_advanced/09_c_extensions_compatibility/README.md similarity index 100% rename from 04_cpython_internals_advanced/09_c_extensions_compatibility/README.md rename to modules/04_cpython_internals_advanced/09_c_extensions_compatibility/README.md diff --git a/04_cpython_internals_advanced/09_c_extensions_compatibility/examples/example_basic.py b/modules/04_cpython_internals_advanced/09_c_extensions_compatibility/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/09_c_extensions_compatibility/examples/example_basic.py rename to modules/04_cpython_internals_advanced/09_c_extensions_compatibility/examples/example_basic.py diff --git a/04_cpython_internals_advanced/09_c_extensions_compatibility/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/09_c_extensions_compatibility/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/09_c_extensions_compatibility/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/09_c_extensions_compatibility/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/09_c_extensions_compatibility/references/links.md b/modules/04_cpython_internals_advanced/09_c_extensions_compatibility/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/09_c_extensions_compatibility/references/links.md rename to modules/04_cpython_internals_advanced/09_c_extensions_compatibility/references/links.md diff --git a/04_cpython_internals_advanced/09_c_extensions_compatibility/tests/test_basic.py b/modules/04_cpython_internals_advanced/09_c_extensions_compatibility/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/09_c_extensions_compatibility/tests/test_basic.py rename to modules/04_cpython_internals_advanced/09_c_extensions_compatibility/tests/test_basic.py diff --git a/04_cpython_internals_advanced/10_subinterpreters_intro/README.md b/modules/04_cpython_internals_advanced/10_subinterpreters_intro/README.md similarity index 100% rename from 04_cpython_internals_advanced/10_subinterpreters_intro/README.md rename to modules/04_cpython_internals_advanced/10_subinterpreters_intro/README.md diff --git a/04_cpython_internals_advanced/10_subinterpreters_intro/examples/example_basic.py b/modules/04_cpython_internals_advanced/10_subinterpreters_intro/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/10_subinterpreters_intro/examples/example_basic.py rename to modules/04_cpython_internals_advanced/10_subinterpreters_intro/examples/example_basic.py diff --git a/04_cpython_internals_advanced/10_subinterpreters_intro/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/10_subinterpreters_intro/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/10_subinterpreters_intro/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/10_subinterpreters_intro/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/10_subinterpreters_intro/references/links.md b/modules/04_cpython_internals_advanced/10_subinterpreters_intro/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/10_subinterpreters_intro/references/links.md rename to modules/04_cpython_internals_advanced/10_subinterpreters_intro/references/links.md diff --git a/04_cpython_internals_advanced/10_subinterpreters_intro/tests/test_basic.py b/modules/04_cpython_internals_advanced/10_subinterpreters_intro/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/10_subinterpreters_intro/tests/test_basic.py rename to modules/04_cpython_internals_advanced/10_subinterpreters_intro/tests/test_basic.py diff --git a/04_cpython_internals_advanced/11_api_c_subinterpreters/README.md b/modules/04_cpython_internals_advanced/11_api_c_subinterpreters/README.md similarity index 100% rename from 04_cpython_internals_advanced/11_api_c_subinterpreters/README.md rename to modules/04_cpython_internals_advanced/11_api_c_subinterpreters/README.md diff --git a/04_cpython_internals_advanced/11_api_c_subinterpreters/examples/example_basic.py b/modules/04_cpython_internals_advanced/11_api_c_subinterpreters/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/11_api_c_subinterpreters/examples/example_basic.py rename to modules/04_cpython_internals_advanced/11_api_c_subinterpreters/examples/example_basic.py diff --git a/04_cpython_internals_advanced/11_api_c_subinterpreters/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/11_api_c_subinterpreters/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/11_api_c_subinterpreters/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/11_api_c_subinterpreters/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/11_api_c_subinterpreters/references/links.md b/modules/04_cpython_internals_advanced/11_api_c_subinterpreters/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/11_api_c_subinterpreters/references/links.md rename to modules/04_cpython_internals_advanced/11_api_c_subinterpreters/references/links.md diff --git a/04_cpython_internals_advanced/11_api_c_subinterpreters/tests/test_basic.py b/modules/04_cpython_internals_advanced/11_api_c_subinterpreters/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/11_api_c_subinterpreters/tests/test_basic.py rename to modules/04_cpython_internals_advanced/11_api_c_subinterpreters/tests/test_basic.py diff --git a/04_cpython_internals_advanced/12_api_python_subinterpreters/README.md b/modules/04_cpython_internals_advanced/12_api_python_subinterpreters/README.md similarity index 100% rename from 04_cpython_internals_advanced/12_api_python_subinterpreters/README.md rename to modules/04_cpython_internals_advanced/12_api_python_subinterpreters/README.md diff --git a/04_cpython_internals_advanced/12_api_python_subinterpreters/examples/example_basic.py b/modules/04_cpython_internals_advanced/12_api_python_subinterpreters/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/12_api_python_subinterpreters/examples/example_basic.py rename to modules/04_cpython_internals_advanced/12_api_python_subinterpreters/examples/example_basic.py diff --git a/04_cpython_internals_advanced/12_api_python_subinterpreters/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/12_api_python_subinterpreters/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/12_api_python_subinterpreters/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/12_api_python_subinterpreters/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/12_api_python_subinterpreters/references/links.md b/modules/04_cpython_internals_advanced/12_api_python_subinterpreters/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/12_api_python_subinterpreters/references/links.md rename to modules/04_cpython_internals_advanced/12_api_python_subinterpreters/references/links.md diff --git a/04_cpython_internals_advanced/12_api_python_subinterpreters/tests/test_basic.py b/modules/04_cpython_internals_advanced/12_api_python_subinterpreters/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/12_api_python_subinterpreters/tests/test_basic.py rename to modules/04_cpython_internals_advanced/12_api_python_subinterpreters/tests/test_basic.py diff --git a/04_cpython_internals_advanced/13_per_interpreter_gil/README.md b/modules/04_cpython_internals_advanced/13_per_interpreter_gil/README.md similarity index 100% rename from 04_cpython_internals_advanced/13_per_interpreter_gil/README.md rename to modules/04_cpython_internals_advanced/13_per_interpreter_gil/README.md diff --git a/04_cpython_internals_advanced/13_per_interpreter_gil/examples/example_basic.py b/modules/04_cpython_internals_advanced/13_per_interpreter_gil/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/13_per_interpreter_gil/examples/example_basic.py rename to modules/04_cpython_internals_advanced/13_per_interpreter_gil/examples/example_basic.py diff --git a/04_cpython_internals_advanced/13_per_interpreter_gil/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/13_per_interpreter_gil/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/13_per_interpreter_gil/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/13_per_interpreter_gil/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/13_per_interpreter_gil/references/links.md b/modules/04_cpython_internals_advanced/13_per_interpreter_gil/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/13_per_interpreter_gil/references/links.md rename to modules/04_cpython_internals_advanced/13_per_interpreter_gil/references/links.md diff --git a/04_cpython_internals_advanced/13_per_interpreter_gil/tests/test_basic.py b/modules/04_cpython_internals_advanced/13_per_interpreter_gil/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/13_per_interpreter_gil/tests/test_basic.py rename to modules/04_cpython_internals_advanced/13_per_interpreter_gil/tests/test_basic.py diff --git a/04_cpython_internals_advanced/14_memory_isolation/README.md b/modules/04_cpython_internals_advanced/14_memory_isolation/README.md similarity index 100% rename from 04_cpython_internals_advanced/14_memory_isolation/README.md rename to modules/04_cpython_internals_advanced/14_memory_isolation/README.md diff --git a/04_cpython_internals_advanced/14_memory_isolation/examples/example_basic.py b/modules/04_cpython_internals_advanced/14_memory_isolation/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/14_memory_isolation/examples/example_basic.py rename to modules/04_cpython_internals_advanced/14_memory_isolation/examples/example_basic.py diff --git a/04_cpython_internals_advanced/14_memory_isolation/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/14_memory_isolation/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/14_memory_isolation/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/14_memory_isolation/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/14_memory_isolation/references/links.md b/modules/04_cpython_internals_advanced/14_memory_isolation/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/14_memory_isolation/references/links.md rename to modules/04_cpython_internals_advanced/14_memory_isolation/references/links.md diff --git a/04_cpython_internals_advanced/14_memory_isolation/tests/test_basic.py b/modules/04_cpython_internals_advanced/14_memory_isolation/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/14_memory_isolation/tests/test_basic.py rename to modules/04_cpython_internals_advanced/14_memory_isolation/tests/test_basic.py diff --git a/04_cpython_internals_advanced/15_communication_channels/README.md b/modules/04_cpython_internals_advanced/15_communication_channels/README.md similarity index 100% rename from 04_cpython_internals_advanced/15_communication_channels/README.md rename to modules/04_cpython_internals_advanced/15_communication_channels/README.md diff --git a/04_cpython_internals_advanced/15_communication_channels/examples/example_basic.py b/modules/04_cpython_internals_advanced/15_communication_channels/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/15_communication_channels/examples/example_basic.py rename to modules/04_cpython_internals_advanced/15_communication_channels/examples/example_basic.py diff --git a/04_cpython_internals_advanced/15_communication_channels/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/15_communication_channels/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/15_communication_channels/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/15_communication_channels/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/15_communication_channels/references/links.md b/modules/04_cpython_internals_advanced/15_communication_channels/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/15_communication_channels/references/links.md rename to modules/04_cpython_internals_advanced/15_communication_channels/references/links.md diff --git a/04_cpython_internals_advanced/15_communication_channels/tests/test_basic.py b/modules/04_cpython_internals_advanced/15_communication_channels/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/15_communication_channels/tests/test_basic.py rename to modules/04_cpython_internals_advanced/15_communication_channels/tests/test_basic.py diff --git a/04_cpython_internals_advanced/16_atomic_operations/README.md b/modules/04_cpython_internals_advanced/16_atomic_operations/README.md similarity index 100% rename from 04_cpython_internals_advanced/16_atomic_operations/README.md rename to modules/04_cpython_internals_advanced/16_atomic_operations/README.md diff --git a/04_cpython_internals_advanced/16_atomic_operations/examples/example_basic.py b/modules/04_cpython_internals_advanced/16_atomic_operations/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/16_atomic_operations/examples/example_basic.py rename to modules/04_cpython_internals_advanced/16_atomic_operations/examples/example_basic.py diff --git a/04_cpython_internals_advanced/16_atomic_operations/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/16_atomic_operations/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/16_atomic_operations/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/16_atomic_operations/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/16_atomic_operations/references/links.md b/modules/04_cpython_internals_advanced/16_atomic_operations/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/16_atomic_operations/references/links.md rename to modules/04_cpython_internals_advanced/16_atomic_operations/references/links.md diff --git a/04_cpython_internals_advanced/16_atomic_operations/tests/test_basic.py b/modules/04_cpython_internals_advanced/16_atomic_operations/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/16_atomic_operations/tests/test_basic.py rename to modules/04_cpython_internals_advanced/16_atomic_operations/tests/test_basic.py diff --git a/04_cpython_internals_advanced/17_data_races/README.md b/modules/04_cpython_internals_advanced/17_data_races/README.md similarity index 100% rename from 04_cpython_internals_advanced/17_data_races/README.md rename to modules/04_cpython_internals_advanced/17_data_races/README.md diff --git a/04_cpython_internals_advanced/17_data_races/examples/example_basic.py b/modules/04_cpython_internals_advanced/17_data_races/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/17_data_races/examples/example_basic.py rename to modules/04_cpython_internals_advanced/17_data_races/examples/example_basic.py diff --git a/04_cpython_internals_advanced/17_data_races/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/17_data_races/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/17_data_races/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/17_data_races/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/17_data_races/references/links.md b/modules/04_cpython_internals_advanced/17_data_races/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/17_data_races/references/links.md rename to modules/04_cpython_internals_advanced/17_data_races/references/links.md diff --git a/04_cpython_internals_advanced/17_data_races/tests/test_basic.py b/modules/04_cpython_internals_advanced/17_data_races/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/17_data_races/tests/test_basic.py rename to modules/04_cpython_internals_advanced/17_data_races/tests/test_basic.py diff --git a/04_cpython_internals_advanced/18_locks_synchronization/README.md b/modules/04_cpython_internals_advanced/18_locks_synchronization/README.md similarity index 100% rename from 04_cpython_internals_advanced/18_locks_synchronization/README.md rename to modules/04_cpython_internals_advanced/18_locks_synchronization/README.md diff --git a/04_cpython_internals_advanced/18_locks_synchronization/examples/example_basic.py b/modules/04_cpython_internals_advanced/18_locks_synchronization/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/18_locks_synchronization/examples/example_basic.py rename to modules/04_cpython_internals_advanced/18_locks_synchronization/examples/example_basic.py diff --git a/04_cpython_internals_advanced/18_locks_synchronization/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/18_locks_synchronization/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/18_locks_synchronization/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/18_locks_synchronization/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/18_locks_synchronization/references/links.md b/modules/04_cpython_internals_advanced/18_locks_synchronization/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/18_locks_synchronization/references/links.md rename to modules/04_cpython_internals_advanced/18_locks_synchronization/references/links.md diff --git a/04_cpython_internals_advanced/18_locks_synchronization/tests/test_basic.py b/modules/04_cpython_internals_advanced/18_locks_synchronization/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/18_locks_synchronization/tests/test_basic.py rename to modules/04_cpython_internals_advanced/18_locks_synchronization/tests/test_basic.py diff --git a/04_cpython_internals_advanced/19_threading_local/README.md b/modules/04_cpython_internals_advanced/19_threading_local/README.md similarity index 100% rename from 04_cpython_internals_advanced/19_threading_local/README.md rename to modules/04_cpython_internals_advanced/19_threading_local/README.md diff --git a/04_cpython_internals_advanced/19_threading_local/examples/example_basic.py b/modules/04_cpython_internals_advanced/19_threading_local/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/19_threading_local/examples/example_basic.py rename to modules/04_cpython_internals_advanced/19_threading_local/examples/example_basic.py diff --git a/04_cpython_internals_advanced/19_threading_local/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/19_threading_local/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/19_threading_local/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/19_threading_local/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/19_threading_local/references/links.md b/modules/04_cpython_internals_advanced/19_threading_local/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/19_threading_local/references/links.md rename to modules/04_cpython_internals_advanced/19_threading_local/references/links.md diff --git a/04_cpython_internals_advanced/19_threading_local/tests/test_basic.py b/modules/04_cpython_internals_advanced/19_threading_local/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/19_threading_local/tests/test_basic.py rename to modules/04_cpython_internals_advanced/19_threading_local/tests/test_basic.py diff --git a/04_cpython_internals_advanced/20_thread_safe_structures/README.md b/modules/04_cpython_internals_advanced/20_thread_safe_structures/README.md similarity index 100% rename from 04_cpython_internals_advanced/20_thread_safe_structures/README.md rename to modules/04_cpython_internals_advanced/20_thread_safe_structures/README.md diff --git a/04_cpython_internals_advanced/20_thread_safe_structures/examples/example_basic.py b/modules/04_cpython_internals_advanced/20_thread_safe_structures/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/20_thread_safe_structures/examples/example_basic.py rename to modules/04_cpython_internals_advanced/20_thread_safe_structures/examples/example_basic.py diff --git a/04_cpython_internals_advanced/20_thread_safe_structures/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/20_thread_safe_structures/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/20_thread_safe_structures/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/20_thread_safe_structures/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/20_thread_safe_structures/references/links.md b/modules/04_cpython_internals_advanced/20_thread_safe_structures/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/20_thread_safe_structures/references/links.md rename to modules/04_cpython_internals_advanced/20_thread_safe_structures/references/links.md diff --git a/04_cpython_internals_advanced/20_thread_safe_structures/tests/test_basic.py b/modules/04_cpython_internals_advanced/20_thread_safe_structures/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/20_thread_safe_structures/tests/test_basic.py rename to modules/04_cpython_internals_advanced/20_thread_safe_structures/tests/test_basic.py diff --git a/04_cpython_internals_advanced/21_pyobject_structure/README.md b/modules/04_cpython_internals_advanced/21_pyobject_structure/README.md similarity index 100% rename from 04_cpython_internals_advanced/21_pyobject_structure/README.md rename to modules/04_cpython_internals_advanced/21_pyobject_structure/README.md diff --git a/04_cpython_internals_advanced/21_pyobject_structure/examples/example_basic.py b/modules/04_cpython_internals_advanced/21_pyobject_structure/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/21_pyobject_structure/examples/example_basic.py rename to modules/04_cpython_internals_advanced/21_pyobject_structure/examples/example_basic.py diff --git a/04_cpython_internals_advanced/21_pyobject_structure/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/21_pyobject_structure/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/21_pyobject_structure/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/21_pyobject_structure/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/21_pyobject_structure/references/links.md b/modules/04_cpython_internals_advanced/21_pyobject_structure/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/21_pyobject_structure/references/links.md rename to modules/04_cpython_internals_advanced/21_pyobject_structure/references/links.md diff --git a/04_cpython_internals_advanced/21_pyobject_structure/tests/test_basic.py b/modules/04_cpython_internals_advanced/21_pyobject_structure/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/21_pyobject_structure/tests/test_basic.py rename to modules/04_cpython_internals_advanced/21_pyobject_structure/tests/test_basic.py diff --git a/04_cpython_internals_advanced/22_reference_counting/README.md b/modules/04_cpython_internals_advanced/22_reference_counting/README.md similarity index 100% rename from 04_cpython_internals_advanced/22_reference_counting/README.md rename to modules/04_cpython_internals_advanced/22_reference_counting/README.md diff --git a/04_cpython_internals_advanced/22_reference_counting/examples/example_basic.py b/modules/04_cpython_internals_advanced/22_reference_counting/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/22_reference_counting/examples/example_basic.py rename to modules/04_cpython_internals_advanced/22_reference_counting/examples/example_basic.py diff --git a/04_cpython_internals_advanced/22_reference_counting/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/22_reference_counting/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/22_reference_counting/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/22_reference_counting/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/22_reference_counting/references/links.md b/modules/04_cpython_internals_advanced/22_reference_counting/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/22_reference_counting/references/links.md rename to modules/04_cpython_internals_advanced/22_reference_counting/references/links.md diff --git a/04_cpython_internals_advanced/22_reference_counting/tests/test_basic.py b/modules/04_cpython_internals_advanced/22_reference_counting/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/22_reference_counting/tests/test_basic.py rename to modules/04_cpython_internals_advanced/22_reference_counting/tests/test_basic.py diff --git a/04_cpython_internals_advanced/23_immortal_objects/README.md b/modules/04_cpython_internals_advanced/23_immortal_objects/README.md similarity index 100% rename from 04_cpython_internals_advanced/23_immortal_objects/README.md rename to modules/04_cpython_internals_advanced/23_immortal_objects/README.md diff --git a/04_cpython_internals_advanced/23_immortal_objects/examples/example_basic.py b/modules/04_cpython_internals_advanced/23_immortal_objects/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/23_immortal_objects/examples/example_basic.py rename to modules/04_cpython_internals_advanced/23_immortal_objects/examples/example_basic.py diff --git a/04_cpython_internals_advanced/23_immortal_objects/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/23_immortal_objects/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/23_immortal_objects/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/23_immortal_objects/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/23_immortal_objects/references/links.md b/modules/04_cpython_internals_advanced/23_immortal_objects/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/23_immortal_objects/references/links.md rename to modules/04_cpython_internals_advanced/23_immortal_objects/references/links.md diff --git a/04_cpython_internals_advanced/23_immortal_objects/tests/test_basic.py b/modules/04_cpython_internals_advanced/23_immortal_objects/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/23_immortal_objects/tests/test_basic.py rename to modules/04_cpython_internals_advanced/23_immortal_objects/tests/test_basic.py diff --git a/04_cpython_internals_advanced/24_caching_interning/README.md b/modules/04_cpython_internals_advanced/24_caching_interning/README.md similarity index 100% rename from 04_cpython_internals_advanced/24_caching_interning/README.md rename to modules/04_cpython_internals_advanced/24_caching_interning/README.md diff --git a/04_cpython_internals_advanced/24_caching_interning/examples/example_basic.py b/modules/04_cpython_internals_advanced/24_caching_interning/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/24_caching_interning/examples/example_basic.py rename to modules/04_cpython_internals_advanced/24_caching_interning/examples/example_basic.py diff --git a/04_cpython_internals_advanced/24_caching_interning/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/24_caching_interning/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/24_caching_interning/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/24_caching_interning/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/24_caching_interning/references/links.md b/modules/04_cpython_internals_advanced/24_caching_interning/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/24_caching_interning/references/links.md rename to modules/04_cpython_internals_advanced/24_caching_interning/references/links.md diff --git a/04_cpython_internals_advanced/24_caching_interning/tests/test_basic.py b/modules/04_cpython_internals_advanced/24_caching_interning/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/24_caching_interning/tests/test_basic.py rename to modules/04_cpython_internals_advanced/24_caching_interning/tests/test_basic.py diff --git a/04_cpython_internals_advanced/25_memory_layout/README.md b/modules/04_cpython_internals_advanced/25_memory_layout/README.md similarity index 100% rename from 04_cpython_internals_advanced/25_memory_layout/README.md rename to modules/04_cpython_internals_advanced/25_memory_layout/README.md diff --git a/04_cpython_internals_advanced/25_memory_layout/examples/example_basic.py b/modules/04_cpython_internals_advanced/25_memory_layout/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/25_memory_layout/examples/example_basic.py rename to modules/04_cpython_internals_advanced/25_memory_layout/examples/example_basic.py diff --git a/04_cpython_internals_advanced/25_memory_layout/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/25_memory_layout/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/25_memory_layout/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/25_memory_layout/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/25_memory_layout/references/links.md b/modules/04_cpython_internals_advanced/25_memory_layout/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/25_memory_layout/references/links.md rename to modules/04_cpython_internals_advanced/25_memory_layout/references/links.md diff --git a/04_cpython_internals_advanced/25_memory_layout/tests/test_basic.py b/modules/04_cpython_internals_advanced/25_memory_layout/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/25_memory_layout/tests/test_basic.py rename to modules/04_cpython_internals_advanced/25_memory_layout/tests/test_basic.py diff --git a/04_cpython_internals_advanced/26_migration_strategies/README.md b/modules/04_cpython_internals_advanced/26_migration_strategies/README.md similarity index 100% rename from 04_cpython_internals_advanced/26_migration_strategies/README.md rename to modules/04_cpython_internals_advanced/26_migration_strategies/README.md diff --git a/04_cpython_internals_advanced/26_migration_strategies/examples/example_basic.py b/modules/04_cpython_internals_advanced/26_migration_strategies/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/26_migration_strategies/examples/example_basic.py rename to modules/04_cpython_internals_advanced/26_migration_strategies/examples/example_basic.py diff --git a/04_cpython_internals_advanced/26_migration_strategies/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/26_migration_strategies/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/26_migration_strategies/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/26_migration_strategies/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/26_migration_strategies/references/links.md b/modules/04_cpython_internals_advanced/26_migration_strategies/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/26_migration_strategies/references/links.md rename to modules/04_cpython_internals_advanced/26_migration_strategies/references/links.md diff --git a/04_cpython_internals_advanced/26_migration_strategies/tests/test_basic.py b/modules/04_cpython_internals_advanced/26_migration_strategies/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/26_migration_strategies/tests/test_basic.py rename to modules/04_cpython_internals_advanced/26_migration_strategies/tests/test_basic.py diff --git a/04_cpython_internals_advanced/27_testing_thread_safety/README.md b/modules/04_cpython_internals_advanced/27_testing_thread_safety/README.md similarity index 100% rename from 04_cpython_internals_advanced/27_testing_thread_safety/README.md rename to modules/04_cpython_internals_advanced/27_testing_thread_safety/README.md diff --git a/04_cpython_internals_advanced/27_testing_thread_safety/examples/example_basic.py b/modules/04_cpython_internals_advanced/27_testing_thread_safety/examples/example_basic.py similarity index 100% rename from 04_cpython_internals_advanced/27_testing_thread_safety/examples/example_basic.py rename to modules/04_cpython_internals_advanced/27_testing_thread_safety/examples/example_basic.py diff --git a/04_cpython_internals_advanced/27_testing_thread_safety/exercise/exercise_01.py b/modules/04_cpython_internals_advanced/27_testing_thread_safety/exercise/exercise_01.py similarity index 100% rename from 04_cpython_internals_advanced/27_testing_thread_safety/exercise/exercise_01.py rename to modules/04_cpython_internals_advanced/27_testing_thread_safety/exercise/exercise_01.py diff --git a/04_cpython_internals_advanced/27_testing_thread_safety/references/links.md b/modules/04_cpython_internals_advanced/27_testing_thread_safety/references/links.md similarity index 100% rename from 04_cpython_internals_advanced/27_testing_thread_safety/references/links.md rename to modules/04_cpython_internals_advanced/27_testing_thread_safety/references/links.md diff --git a/04_cpython_internals_advanced/27_testing_thread_safety/tests/test_basic.py b/modules/04_cpython_internals_advanced/27_testing_thread_safety/tests/test_basic.py similarity index 100% rename from 04_cpython_internals_advanced/27_testing_thread_safety/tests/test_basic.py rename to modules/04_cpython_internals_advanced/27_testing_thread_safety/tests/test_basic.py diff --git a/04_cpython_internals_advanced/README.md b/modules/04_cpython_internals_advanced/README.md similarity index 100% rename from 04_cpython_internals_advanced/README.md rename to modules/04_cpython_internals_advanced/README.md diff --git a/04_cpython_internals_advanced/create_templates.py b/modules/04_cpython_internals_advanced/create_templates.py similarity index 100% rename from 04_cpython_internals_advanced/create_templates.py rename to modules/04_cpython_internals_advanced/create_templates.py diff --git a/05_modern_concurrency/README.md b/modules/05_modern_concurrency/README.md similarity index 100% rename from 05_modern_concurrency/README.md rename to modules/05_modern_concurrency/README.md diff --git a/05_modern_concurrency/actor_model/README.md b/modules/05_modern_concurrency/actor_model/README.md similarity index 100% rename from 05_modern_concurrency/actor_model/README.md rename to modules/05_modern_concurrency/actor_model/README.md diff --git a/05_modern_concurrency/actor_model/examples/example_basic.py b/modules/05_modern_concurrency/actor_model/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/actor_model/examples/example_basic.py rename to modules/05_modern_concurrency/actor_model/examples/example_basic.py diff --git a/05_modern_concurrency/actor_model/exercise/exercise_01.py b/modules/05_modern_concurrency/actor_model/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/actor_model/exercise/exercise_01.py rename to modules/05_modern_concurrency/actor_model/exercise/exercise_01.py diff --git a/05_modern_concurrency/actor_model/references/links.md b/modules/05_modern_concurrency/actor_model/references/links.md similarity index 100% rename from 05_modern_concurrency/actor_model/references/links.md rename to modules/05_modern_concurrency/actor_model/references/links.md diff --git a/05_modern_concurrency/actor_model/tests/test_basic.py b/modules/05_modern_concurrency/actor_model/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/actor_model/tests/test_basic.py rename to modules/05_modern_concurrency/actor_model/tests/test_basic.py diff --git a/05_modern_concurrency/aiohttp_httpx/README.md b/modules/05_modern_concurrency/aiohttp_httpx/README.md similarity index 100% rename from 05_modern_concurrency/aiohttp_httpx/README.md rename to modules/05_modern_concurrency/aiohttp_httpx/README.md diff --git a/05_modern_concurrency/aiohttp_httpx/examples/example_basic.py b/modules/05_modern_concurrency/aiohttp_httpx/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/aiohttp_httpx/examples/example_basic.py rename to modules/05_modern_concurrency/aiohttp_httpx/examples/example_basic.py diff --git a/05_modern_concurrency/aiohttp_httpx/exercise/exercise_01.py b/modules/05_modern_concurrency/aiohttp_httpx/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/aiohttp_httpx/exercise/exercise_01.py rename to modules/05_modern_concurrency/aiohttp_httpx/exercise/exercise_01.py diff --git a/05_modern_concurrency/aiohttp_httpx/references/links.md b/modules/05_modern_concurrency/aiohttp_httpx/references/links.md similarity index 100% rename from 05_modern_concurrency/aiohttp_httpx/references/links.md rename to modules/05_modern_concurrency/aiohttp_httpx/references/links.md diff --git a/05_modern_concurrency/aiohttp_httpx/tests/test_basic.py b/modules/05_modern_concurrency/aiohttp_httpx/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/aiohttp_httpx/tests/test_basic.py rename to modules/05_modern_concurrency/aiohttp_httpx/tests/test_basic.py diff --git a/05_modern_concurrency/asyncio_debugging/README.md b/modules/05_modern_concurrency/asyncio_debugging/README.md similarity index 100% rename from 05_modern_concurrency/asyncio_debugging/README.md rename to modules/05_modern_concurrency/asyncio_debugging/README.md diff --git a/05_modern_concurrency/asyncio_debugging/examples/example_basic.py b/modules/05_modern_concurrency/asyncio_debugging/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_debugging/examples/example_basic.py rename to modules/05_modern_concurrency/asyncio_debugging/examples/example_basic.py diff --git a/05_modern_concurrency/asyncio_debugging/exercise/exercise_01.py b/modules/05_modern_concurrency/asyncio_debugging/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/asyncio_debugging/exercise/exercise_01.py rename to modules/05_modern_concurrency/asyncio_debugging/exercise/exercise_01.py diff --git a/05_modern_concurrency/asyncio_debugging/references/links.md b/modules/05_modern_concurrency/asyncio_debugging/references/links.md similarity index 100% rename from 05_modern_concurrency/asyncio_debugging/references/links.md rename to modules/05_modern_concurrency/asyncio_debugging/references/links.md diff --git a/05_modern_concurrency/asyncio_debugging/tests/test_basic.py b/modules/05_modern_concurrency/asyncio_debugging/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_debugging/tests/test_basic.py rename to modules/05_modern_concurrency/asyncio_debugging/tests/test_basic.py diff --git a/05_modern_concurrency/asyncio_fundamentals/README.md b/modules/05_modern_concurrency/asyncio_fundamentals/README.md similarity index 100% rename from 05_modern_concurrency/asyncio_fundamentals/README.md rename to modules/05_modern_concurrency/asyncio_fundamentals/README.md diff --git a/05_modern_concurrency/asyncio_fundamentals/examples/example_basic.py b/modules/05_modern_concurrency/asyncio_fundamentals/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_fundamentals/examples/example_basic.py rename to modules/05_modern_concurrency/asyncio_fundamentals/examples/example_basic.py diff --git a/05_modern_concurrency/asyncio_fundamentals/exercise/exercise_01.py b/modules/05_modern_concurrency/asyncio_fundamentals/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/asyncio_fundamentals/exercise/exercise_01.py rename to modules/05_modern_concurrency/asyncio_fundamentals/exercise/exercise_01.py diff --git a/05_modern_concurrency/asyncio_fundamentals/references/links.md b/modules/05_modern_concurrency/asyncio_fundamentals/references/links.md similarity index 100% rename from 05_modern_concurrency/asyncio_fundamentals/references/links.md rename to modules/05_modern_concurrency/asyncio_fundamentals/references/links.md diff --git a/05_modern_concurrency/asyncio_fundamentals/tests/test_basic.py b/modules/05_modern_concurrency/asyncio_fundamentals/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_fundamentals/tests/test_basic.py rename to modules/05_modern_concurrency/asyncio_fundamentals/tests/test_basic.py diff --git a/05_modern_concurrency/asyncio_patterns/README.md b/modules/05_modern_concurrency/asyncio_patterns/README.md similarity index 100% rename from 05_modern_concurrency/asyncio_patterns/README.md rename to modules/05_modern_concurrency/asyncio_patterns/README.md diff --git a/05_modern_concurrency/asyncio_patterns/examples/example_basic.py b/modules/05_modern_concurrency/asyncio_patterns/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_patterns/examples/example_basic.py rename to modules/05_modern_concurrency/asyncio_patterns/examples/example_basic.py diff --git a/05_modern_concurrency/asyncio_patterns/exercise/exercise_01.py b/modules/05_modern_concurrency/asyncio_patterns/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/asyncio_patterns/exercise/exercise_01.py rename to modules/05_modern_concurrency/asyncio_patterns/exercise/exercise_01.py diff --git a/05_modern_concurrency/asyncio_patterns/references/links.md b/modules/05_modern_concurrency/asyncio_patterns/references/links.md similarity index 100% rename from 05_modern_concurrency/asyncio_patterns/references/links.md rename to modules/05_modern_concurrency/asyncio_patterns/references/links.md diff --git a/05_modern_concurrency/asyncio_patterns/tests/test_basic.py b/modules/05_modern_concurrency/asyncio_patterns/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_patterns/tests/test_basic.py rename to modules/05_modern_concurrency/asyncio_patterns/tests/test_basic.py diff --git a/05_modern_concurrency/asyncio_streams/README.md b/modules/05_modern_concurrency/asyncio_streams/README.md similarity index 100% rename from 05_modern_concurrency/asyncio_streams/README.md rename to modules/05_modern_concurrency/asyncio_streams/README.md diff --git a/05_modern_concurrency/asyncio_streams/examples/example_basic.py b/modules/05_modern_concurrency/asyncio_streams/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_streams/examples/example_basic.py rename to modules/05_modern_concurrency/asyncio_streams/examples/example_basic.py diff --git a/05_modern_concurrency/asyncio_streams/exercise/exercise_01.py b/modules/05_modern_concurrency/asyncio_streams/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/asyncio_streams/exercise/exercise_01.py rename to modules/05_modern_concurrency/asyncio_streams/exercise/exercise_01.py diff --git a/05_modern_concurrency/asyncio_streams/references/links.md b/modules/05_modern_concurrency/asyncio_streams/references/links.md similarity index 100% rename from 05_modern_concurrency/asyncio_streams/references/links.md rename to modules/05_modern_concurrency/asyncio_streams/references/links.md diff --git a/05_modern_concurrency/asyncio_streams/tests/test_basic.py b/modules/05_modern_concurrency/asyncio_streams/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/asyncio_streams/tests/test_basic.py rename to modules/05_modern_concurrency/asyncio_streams/tests/test_basic.py diff --git a/05_modern_concurrency/barriers_events/README.md b/modules/05_modern_concurrency/barriers_events/README.md similarity index 100% rename from 05_modern_concurrency/barriers_events/README.md rename to modules/05_modern_concurrency/barriers_events/README.md diff --git a/05_modern_concurrency/barriers_events/examples/example_basic.py b/modules/05_modern_concurrency/barriers_events/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/barriers_events/examples/example_basic.py rename to modules/05_modern_concurrency/barriers_events/examples/example_basic.py diff --git a/05_modern_concurrency/barriers_events/exercise/exercise_01.py b/modules/05_modern_concurrency/barriers_events/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/barriers_events/exercise/exercise_01.py rename to modules/05_modern_concurrency/barriers_events/exercise/exercise_01.py diff --git a/05_modern_concurrency/barriers_events/references/links.md b/modules/05_modern_concurrency/barriers_events/references/links.md similarity index 100% rename from 05_modern_concurrency/barriers_events/references/links.md rename to modules/05_modern_concurrency/barriers_events/references/links.md diff --git a/05_modern_concurrency/barriers_events/tests/test_basic.py b/modules/05_modern_concurrency/barriers_events/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/barriers_events/tests/test_basic.py rename to modules/05_modern_concurrency/barriers_events/tests/test_basic.py diff --git a/05_modern_concurrency/basic_multiprocessing/README.md b/modules/05_modern_concurrency/basic_multiprocessing/README.md similarity index 100% rename from 05_modern_concurrency/basic_multiprocessing/README.md rename to modules/05_modern_concurrency/basic_multiprocessing/README.md diff --git a/05_modern_concurrency/basic_multiprocessing/examples/example_basic.py b/modules/05_modern_concurrency/basic_multiprocessing/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/basic_multiprocessing/examples/example_basic.py rename to modules/05_modern_concurrency/basic_multiprocessing/examples/example_basic.py diff --git a/05_modern_concurrency/basic_multiprocessing/exercise/exercise_01.py b/modules/05_modern_concurrency/basic_multiprocessing/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/basic_multiprocessing/exercise/exercise_01.py rename to modules/05_modern_concurrency/basic_multiprocessing/exercise/exercise_01.py diff --git a/05_modern_concurrency/basic_multiprocessing/references/links.md b/modules/05_modern_concurrency/basic_multiprocessing/references/links.md similarity index 100% rename from 05_modern_concurrency/basic_multiprocessing/references/links.md rename to modules/05_modern_concurrency/basic_multiprocessing/references/links.md diff --git a/05_modern_concurrency/basic_multiprocessing/tests/test_basic.py b/modules/05_modern_concurrency/basic_multiprocessing/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/basic_multiprocessing/tests/test_basic.py rename to modules/05_modern_concurrency/basic_multiprocessing/tests/test_basic.py diff --git a/05_modern_concurrency/basic_threading/README.md b/modules/05_modern_concurrency/basic_threading/README.md similarity index 100% rename from 05_modern_concurrency/basic_threading/README.md rename to modules/05_modern_concurrency/basic_threading/README.md diff --git a/05_modern_concurrency/basic_threading/examples/example_basic.py b/modules/05_modern_concurrency/basic_threading/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/basic_threading/examples/example_basic.py rename to modules/05_modern_concurrency/basic_threading/examples/example_basic.py diff --git a/05_modern_concurrency/basic_threading/exercise/exercise_01.py b/modules/05_modern_concurrency/basic_threading/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/basic_threading/exercise/exercise_01.py rename to modules/05_modern_concurrency/basic_threading/exercise/exercise_01.py diff --git a/05_modern_concurrency/basic_threading/references/links.md b/modules/05_modern_concurrency/basic_threading/references/links.md similarity index 100% rename from 05_modern_concurrency/basic_threading/references/links.md rename to modules/05_modern_concurrency/basic_threading/references/links.md diff --git a/05_modern_concurrency/basic_threading/tests/test_basic.py b/modules/05_modern_concurrency/basic_threading/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/basic_threading/tests/test_basic.py rename to modules/05_modern_concurrency/basic_threading/tests/test_basic.py diff --git a/05_modern_concurrency/concurrency_models/README.md b/modules/05_modern_concurrency/concurrency_models/README.md similarity index 100% rename from 05_modern_concurrency/concurrency_models/README.md rename to modules/05_modern_concurrency/concurrency_models/README.md diff --git a/05_modern_concurrency/concurrency_models/examples/example_basic.py b/modules/05_modern_concurrency/concurrency_models/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/concurrency_models/examples/example_basic.py rename to modules/05_modern_concurrency/concurrency_models/examples/example_basic.py diff --git a/05_modern_concurrency/concurrency_models/exercise/exercise_01.py b/modules/05_modern_concurrency/concurrency_models/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/concurrency_models/exercise/exercise_01.py rename to modules/05_modern_concurrency/concurrency_models/exercise/exercise_01.py diff --git a/05_modern_concurrency/concurrency_models/references/links.md b/modules/05_modern_concurrency/concurrency_models/references/links.md similarity index 100% rename from 05_modern_concurrency/concurrency_models/references/links.md rename to modules/05_modern_concurrency/concurrency_models/references/links.md diff --git a/05_modern_concurrency/concurrency_models/tests/test_basic.py b/modules/05_modern_concurrency/concurrency_models/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/concurrency_models/tests/test_basic.py rename to modules/05_modern_concurrency/concurrency_models/tests/test_basic.py diff --git a/05_modern_concurrency/coroutines_async_await/README.md b/modules/05_modern_concurrency/coroutines_async_await/README.md similarity index 100% rename from 05_modern_concurrency/coroutines_async_await/README.md rename to modules/05_modern_concurrency/coroutines_async_await/README.md diff --git a/05_modern_concurrency/coroutines_async_await/examples/example_basic.py b/modules/05_modern_concurrency/coroutines_async_await/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/coroutines_async_await/examples/example_basic.py rename to modules/05_modern_concurrency/coroutines_async_await/examples/example_basic.py diff --git a/05_modern_concurrency/coroutines_async_await/exercise/exercise_01.py b/modules/05_modern_concurrency/coroutines_async_await/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/coroutines_async_await/exercise/exercise_01.py rename to modules/05_modern_concurrency/coroutines_async_await/exercise/exercise_01.py diff --git a/05_modern_concurrency/coroutines_async_await/references/links.md b/modules/05_modern_concurrency/coroutines_async_await/references/links.md similarity index 100% rename from 05_modern_concurrency/coroutines_async_await/references/links.md rename to modules/05_modern_concurrency/coroutines_async_await/references/links.md diff --git a/05_modern_concurrency/coroutines_async_await/tests/test_basic.py b/modules/05_modern_concurrency/coroutines_async_await/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/coroutines_async_await/tests/test_basic.py rename to modules/05_modern_concurrency/coroutines_async_await/tests/test_basic.py diff --git a/05_modern_concurrency/event_loop_internals/README.md b/modules/05_modern_concurrency/event_loop_internals/README.md similarity index 100% rename from 05_modern_concurrency/event_loop_internals/README.md rename to modules/05_modern_concurrency/event_loop_internals/README.md diff --git a/05_modern_concurrency/event_loop_internals/examples/example_basic.py b/modules/05_modern_concurrency/event_loop_internals/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/event_loop_internals/examples/example_basic.py rename to modules/05_modern_concurrency/event_loop_internals/examples/example_basic.py diff --git a/05_modern_concurrency/event_loop_internals/exercise/exercise_01.py b/modules/05_modern_concurrency/event_loop_internals/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/event_loop_internals/exercise/exercise_01.py rename to modules/05_modern_concurrency/event_loop_internals/exercise/exercise_01.py diff --git a/05_modern_concurrency/event_loop_internals/references/links.md b/modules/05_modern_concurrency/event_loop_internals/references/links.md similarity index 100% rename from 05_modern_concurrency/event_loop_internals/references/links.md rename to modules/05_modern_concurrency/event_loop_internals/references/links.md diff --git a/05_modern_concurrency/event_loop_internals/tests/test_basic.py b/modules/05_modern_concurrency/event_loop_internals/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/event_loop_internals/tests/test_basic.py rename to modules/05_modern_concurrency/event_loop_internals/tests/test_basic.py diff --git a/05_modern_concurrency/locks_semaphores/README.md b/modules/05_modern_concurrency/locks_semaphores/README.md similarity index 100% rename from 05_modern_concurrency/locks_semaphores/README.md rename to modules/05_modern_concurrency/locks_semaphores/README.md diff --git a/05_modern_concurrency/locks_semaphores/examples/example_basic.py b/modules/05_modern_concurrency/locks_semaphores/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/locks_semaphores/examples/example_basic.py rename to modules/05_modern_concurrency/locks_semaphores/examples/example_basic.py diff --git a/05_modern_concurrency/locks_semaphores/exercise/exercise_01.py b/modules/05_modern_concurrency/locks_semaphores/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/locks_semaphores/exercise/exercise_01.py rename to modules/05_modern_concurrency/locks_semaphores/exercise/exercise_01.py diff --git a/05_modern_concurrency/locks_semaphores/references/links.md b/modules/05_modern_concurrency/locks_semaphores/references/links.md similarity index 100% rename from 05_modern_concurrency/locks_semaphores/references/links.md rename to modules/05_modern_concurrency/locks_semaphores/references/links.md diff --git a/05_modern_concurrency/locks_semaphores/tests/test_basic.py b/modules/05_modern_concurrency/locks_semaphores/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/locks_semaphores/tests/test_basic.py rename to modules/05_modern_concurrency/locks_semaphores/tests/test_basic.py diff --git a/05_modern_concurrency/map_reduce/README.md b/modules/05_modern_concurrency/map_reduce/README.md similarity index 100% rename from 05_modern_concurrency/map_reduce/README.md rename to modules/05_modern_concurrency/map_reduce/README.md diff --git a/05_modern_concurrency/map_reduce/examples/example_basic.py b/modules/05_modern_concurrency/map_reduce/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/map_reduce/examples/example_basic.py rename to modules/05_modern_concurrency/map_reduce/examples/example_basic.py diff --git a/05_modern_concurrency/map_reduce/exercise/exercise_01.py b/modules/05_modern_concurrency/map_reduce/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/map_reduce/exercise/exercise_01.py rename to modules/05_modern_concurrency/map_reduce/exercise/exercise_01.py diff --git a/05_modern_concurrency/map_reduce/references/links.md b/modules/05_modern_concurrency/map_reduce/references/links.md similarity index 100% rename from 05_modern_concurrency/map_reduce/references/links.md rename to modules/05_modern_concurrency/map_reduce/references/links.md diff --git a/05_modern_concurrency/map_reduce/tests/test_basic.py b/modules/05_modern_concurrency/map_reduce/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/map_reduce/tests/test_basic.py rename to modules/05_modern_concurrency/map_reduce/tests/test_basic.py diff --git a/05_modern_concurrency/parallel_pipeline/README.md b/modules/05_modern_concurrency/parallel_pipeline/README.md similarity index 100% rename from 05_modern_concurrency/parallel_pipeline/README.md rename to modules/05_modern_concurrency/parallel_pipeline/README.md diff --git a/05_modern_concurrency/parallel_pipeline/examples/example_basic.py b/modules/05_modern_concurrency/parallel_pipeline/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/parallel_pipeline/examples/example_basic.py rename to modules/05_modern_concurrency/parallel_pipeline/examples/example_basic.py diff --git a/05_modern_concurrency/parallel_pipeline/exercise/exercise_01.py b/modules/05_modern_concurrency/parallel_pipeline/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/parallel_pipeline/exercise/exercise_01.py rename to modules/05_modern_concurrency/parallel_pipeline/exercise/exercise_01.py diff --git a/05_modern_concurrency/parallel_pipeline/references/links.md b/modules/05_modern_concurrency/parallel_pipeline/references/links.md similarity index 100% rename from 05_modern_concurrency/parallel_pipeline/references/links.md rename to modules/05_modern_concurrency/parallel_pipeline/references/links.md diff --git a/05_modern_concurrency/parallel_pipeline/tests/test_basic.py b/modules/05_modern_concurrency/parallel_pipeline/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/parallel_pipeline/tests/test_basic.py rename to modules/05_modern_concurrency/parallel_pipeline/tests/test_basic.py diff --git a/05_modern_concurrency/process_pools/README.md b/modules/05_modern_concurrency/process_pools/README.md similarity index 100% rename from 05_modern_concurrency/process_pools/README.md rename to modules/05_modern_concurrency/process_pools/README.md diff --git a/05_modern_concurrency/process_pools/examples/example_basic.py b/modules/05_modern_concurrency/process_pools/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/process_pools/examples/example_basic.py rename to modules/05_modern_concurrency/process_pools/examples/example_basic.py diff --git a/05_modern_concurrency/process_pools/exercise/exercise_01.py b/modules/05_modern_concurrency/process_pools/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/process_pools/exercise/exercise_01.py rename to modules/05_modern_concurrency/process_pools/exercise/exercise_01.py diff --git a/05_modern_concurrency/process_pools/references/links.md b/modules/05_modern_concurrency/process_pools/references/links.md similarity index 100% rename from 05_modern_concurrency/process_pools/references/links.md rename to modules/05_modern_concurrency/process_pools/references/links.md diff --git a/05_modern_concurrency/process_pools/tests/test_basic.py b/modules/05_modern_concurrency/process_pools/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/process_pools/tests/test_basic.py rename to modules/05_modern_concurrency/process_pools/tests/test_basic.py diff --git a/05_modern_concurrency/producer_consumer/README.md b/modules/05_modern_concurrency/producer_consumer/README.md similarity index 100% rename from 05_modern_concurrency/producer_consumer/README.md rename to modules/05_modern_concurrency/producer_consumer/README.md diff --git a/05_modern_concurrency/producer_consumer/examples/example_basic.py b/modules/05_modern_concurrency/producer_consumer/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/producer_consumer/examples/example_basic.py rename to modules/05_modern_concurrency/producer_consumer/examples/example_basic.py diff --git a/05_modern_concurrency/producer_consumer/exercise/exercise_01.py b/modules/05_modern_concurrency/producer_consumer/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/producer_consumer/exercise/exercise_01.py rename to modules/05_modern_concurrency/producer_consumer/exercise/exercise_01.py diff --git a/05_modern_concurrency/producer_consumer/references/links.md b/modules/05_modern_concurrency/producer_consumer/references/links.md similarity index 100% rename from 05_modern_concurrency/producer_consumer/references/links.md rename to modules/05_modern_concurrency/producer_consumer/references/links.md diff --git a/05_modern_concurrency/producer_consumer/tests/test_basic.py b/modules/05_modern_concurrency/producer_consumer/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/producer_consumer/tests/test_basic.py rename to modules/05_modern_concurrency/producer_consumer/tests/test_basic.py diff --git a/05_modern_concurrency/profiling_concurrent/README.md b/modules/05_modern_concurrency/profiling_concurrent/README.md similarity index 100% rename from 05_modern_concurrency/profiling_concurrent/README.md rename to modules/05_modern_concurrency/profiling_concurrent/README.md diff --git a/05_modern_concurrency/profiling_concurrent/examples/example_basic.py b/modules/05_modern_concurrency/profiling_concurrent/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/profiling_concurrent/examples/example_basic.py rename to modules/05_modern_concurrency/profiling_concurrent/examples/example_basic.py diff --git a/05_modern_concurrency/profiling_concurrent/exercise/exercise_01.py b/modules/05_modern_concurrency/profiling_concurrent/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/profiling_concurrent/exercise/exercise_01.py rename to modules/05_modern_concurrency/profiling_concurrent/exercise/exercise_01.py diff --git a/05_modern_concurrency/profiling_concurrent/references/links.md b/modules/05_modern_concurrency/profiling_concurrent/references/links.md similarity index 100% rename from 05_modern_concurrency/profiling_concurrent/references/links.md rename to modules/05_modern_concurrency/profiling_concurrent/references/links.md diff --git a/05_modern_concurrency/profiling_concurrent/tests/test_basic.py b/modules/05_modern_concurrency/profiling_concurrent/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/profiling_concurrent/tests/test_basic.py rename to modules/05_modern_concurrency/profiling_concurrent/tests/test_basic.py diff --git a/05_modern_concurrency/race_detection/README.md b/modules/05_modern_concurrency/race_detection/README.md similarity index 100% rename from 05_modern_concurrency/race_detection/README.md rename to modules/05_modern_concurrency/race_detection/README.md diff --git a/05_modern_concurrency/race_detection/examples/example_basic.py b/modules/05_modern_concurrency/race_detection/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/race_detection/examples/example_basic.py rename to modules/05_modern_concurrency/race_detection/examples/example_basic.py diff --git a/05_modern_concurrency/race_detection/exercise/exercise_01.py b/modules/05_modern_concurrency/race_detection/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/race_detection/exercise/exercise_01.py rename to modules/05_modern_concurrency/race_detection/exercise/exercise_01.py diff --git a/05_modern_concurrency/race_detection/references/links.md b/modules/05_modern_concurrency/race_detection/references/links.md similarity index 100% rename from 05_modern_concurrency/race_detection/references/links.md rename to modules/05_modern_concurrency/race_detection/references/links.md diff --git a/05_modern_concurrency/race_detection/tests/test_basic.py b/modules/05_modern_concurrency/race_detection/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/race_detection/tests/test_basic.py rename to modules/05_modern_concurrency/race_detection/tests/test_basic.py diff --git a/05_modern_concurrency/shared_memory/README.md b/modules/05_modern_concurrency/shared_memory/README.md similarity index 100% rename from 05_modern_concurrency/shared_memory/README.md rename to modules/05_modern_concurrency/shared_memory/README.md diff --git a/05_modern_concurrency/shared_memory/examples/example_basic.py b/modules/05_modern_concurrency/shared_memory/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/shared_memory/examples/example_basic.py rename to modules/05_modern_concurrency/shared_memory/examples/example_basic.py diff --git a/05_modern_concurrency/shared_memory/exercise/exercise_01.py b/modules/05_modern_concurrency/shared_memory/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/shared_memory/exercise/exercise_01.py rename to modules/05_modern_concurrency/shared_memory/exercise/exercise_01.py diff --git a/05_modern_concurrency/shared_memory/references/links.md b/modules/05_modern_concurrency/shared_memory/references/links.md similarity index 100% rename from 05_modern_concurrency/shared_memory/references/links.md rename to modules/05_modern_concurrency/shared_memory/references/links.md diff --git a/05_modern_concurrency/shared_memory/tests/test_basic.py b/modules/05_modern_concurrency/shared_memory/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/shared_memory/tests/test_basic.py rename to modules/05_modern_concurrency/shared_memory/tests/test_basic.py diff --git a/05_modern_concurrency/subinterpreters_communication/README.md b/modules/05_modern_concurrency/subinterpreters_communication/README.md similarity index 100% rename from 05_modern_concurrency/subinterpreters_communication/README.md rename to modules/05_modern_concurrency/subinterpreters_communication/README.md diff --git a/05_modern_concurrency/subinterpreters_communication/examples/example_basic.py b/modules/05_modern_concurrency/subinterpreters_communication/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_communication/examples/example_basic.py rename to modules/05_modern_concurrency/subinterpreters_communication/examples/example_basic.py diff --git a/05_modern_concurrency/subinterpreters_communication/exercise/exercise_01.py b/modules/05_modern_concurrency/subinterpreters_communication/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_communication/exercise/exercise_01.py rename to modules/05_modern_concurrency/subinterpreters_communication/exercise/exercise_01.py diff --git a/05_modern_concurrency/subinterpreters_communication/references/links.md b/modules/05_modern_concurrency/subinterpreters_communication/references/links.md similarity index 100% rename from 05_modern_concurrency/subinterpreters_communication/references/links.md rename to modules/05_modern_concurrency/subinterpreters_communication/references/links.md diff --git a/05_modern_concurrency/subinterpreters_communication/tests/test_basic.py b/modules/05_modern_concurrency/subinterpreters_communication/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_communication/tests/test_basic.py rename to modules/05_modern_concurrency/subinterpreters_communication/tests/test_basic.py diff --git a/05_modern_concurrency/subinterpreters_usage/README.md b/modules/05_modern_concurrency/subinterpreters_usage/README.md similarity index 100% rename from 05_modern_concurrency/subinterpreters_usage/README.md rename to modules/05_modern_concurrency/subinterpreters_usage/README.md diff --git a/05_modern_concurrency/subinterpreters_usage/examples/example_basic.py b/modules/05_modern_concurrency/subinterpreters_usage/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_usage/examples/example_basic.py rename to modules/05_modern_concurrency/subinterpreters_usage/examples/example_basic.py diff --git a/05_modern_concurrency/subinterpreters_usage/exercise/exercise_01.py b/modules/05_modern_concurrency/subinterpreters_usage/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_usage/exercise/exercise_01.py rename to modules/05_modern_concurrency/subinterpreters_usage/exercise/exercise_01.py diff --git a/05_modern_concurrency/subinterpreters_usage/references/links.md b/modules/05_modern_concurrency/subinterpreters_usage/references/links.md similarity index 100% rename from 05_modern_concurrency/subinterpreters_usage/references/links.md rename to modules/05_modern_concurrency/subinterpreters_usage/references/links.md diff --git a/05_modern_concurrency/subinterpreters_usage/tests/test_basic.py b/modules/05_modern_concurrency/subinterpreters_usage/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/subinterpreters_usage/tests/test_basic.py rename to modules/05_modern_concurrency/subinterpreters_usage/tests/test_basic.py diff --git a/05_modern_concurrency/taskgroups/README.md b/modules/05_modern_concurrency/taskgroups/README.md similarity index 100% rename from 05_modern_concurrency/taskgroups/README.md rename to modules/05_modern_concurrency/taskgroups/README.md diff --git a/05_modern_concurrency/taskgroups/examples/example_basic.py b/modules/05_modern_concurrency/taskgroups/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/taskgroups/examples/example_basic.py rename to modules/05_modern_concurrency/taskgroups/examples/example_basic.py diff --git a/05_modern_concurrency/taskgroups/exercise/exercise_01.py b/modules/05_modern_concurrency/taskgroups/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/taskgroups/exercise/exercise_01.py rename to modules/05_modern_concurrency/taskgroups/exercise/exercise_01.py diff --git a/05_modern_concurrency/taskgroups/references/links.md b/modules/05_modern_concurrency/taskgroups/references/links.md similarity index 100% rename from 05_modern_concurrency/taskgroups/references/links.md rename to modules/05_modern_concurrency/taskgroups/references/links.md diff --git a/05_modern_concurrency/taskgroups/tests/test_basic.py b/modules/05_modern_concurrency/taskgroups/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/taskgroups/tests/test_basic.py rename to modules/05_modern_concurrency/taskgroups/tests/test_basic.py diff --git a/05_modern_concurrency/thread_pools/README.md b/modules/05_modern_concurrency/thread_pools/README.md similarity index 100% rename from 05_modern_concurrency/thread_pools/README.md rename to modules/05_modern_concurrency/thread_pools/README.md diff --git a/05_modern_concurrency/thread_pools/examples/example_basic.py b/modules/05_modern_concurrency/thread_pools/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/thread_pools/examples/example_basic.py rename to modules/05_modern_concurrency/thread_pools/examples/example_basic.py diff --git a/05_modern_concurrency/thread_pools/exercise/exercise_01.py b/modules/05_modern_concurrency/thread_pools/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/thread_pools/exercise/exercise_01.py rename to modules/05_modern_concurrency/thread_pools/exercise/exercise_01.py diff --git a/05_modern_concurrency/thread_pools/references/links.md b/modules/05_modern_concurrency/thread_pools/references/links.md similarity index 100% rename from 05_modern_concurrency/thread_pools/references/links.md rename to modules/05_modern_concurrency/thread_pools/references/links.md diff --git a/05_modern_concurrency/thread_pools/tests/test_basic.py b/modules/05_modern_concurrency/thread_pools/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/thread_pools/tests/test_basic.py rename to modules/05_modern_concurrency/thread_pools/tests/test_basic.py diff --git a/05_modern_concurrency/threading_freethreading/README.md b/modules/05_modern_concurrency/threading_freethreading/README.md similarity index 100% rename from 05_modern_concurrency/threading_freethreading/README.md rename to modules/05_modern_concurrency/threading_freethreading/README.md diff --git a/05_modern_concurrency/threading_freethreading/examples/example_basic.py b/modules/05_modern_concurrency/threading_freethreading/examples/example_basic.py similarity index 100% rename from 05_modern_concurrency/threading_freethreading/examples/example_basic.py rename to modules/05_modern_concurrency/threading_freethreading/examples/example_basic.py diff --git a/05_modern_concurrency/threading_freethreading/exercise/exercise_01.py b/modules/05_modern_concurrency/threading_freethreading/exercise/exercise_01.py similarity index 100% rename from 05_modern_concurrency/threading_freethreading/exercise/exercise_01.py rename to modules/05_modern_concurrency/threading_freethreading/exercise/exercise_01.py diff --git a/05_modern_concurrency/threading_freethreading/references/links.md b/modules/05_modern_concurrency/threading_freethreading/references/links.md similarity index 100% rename from 05_modern_concurrency/threading_freethreading/references/links.md rename to modules/05_modern_concurrency/threading_freethreading/references/links.md diff --git a/05_modern_concurrency/threading_freethreading/tests/test_basic.py b/modules/05_modern_concurrency/threading_freethreading/tests/test_basic.py similarity index 100% rename from 05_modern_concurrency/threading_freethreading/tests/test_basic.py rename to modules/05_modern_concurrency/threading_freethreading/tests/test_basic.py diff --git a/06_typing_metaprogramming/README.md b/modules/06_typing_metaprogramming/README.md similarity index 100% rename from 06_typing_metaprogramming/README.md rename to modules/06_typing_metaprogramming/README.md diff --git a/06_typing_metaprogramming/abstract_base_classes/README.md b/modules/06_typing_metaprogramming/abstract_base_classes/README.md similarity index 100% rename from 06_typing_metaprogramming/abstract_base_classes/README.md rename to modules/06_typing_metaprogramming/abstract_base_classes/README.md diff --git a/06_typing_metaprogramming/abstract_base_classes/examples/example_basic.py b/modules/06_typing_metaprogramming/abstract_base_classes/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/abstract_base_classes/examples/example_basic.py rename to modules/06_typing_metaprogramming/abstract_base_classes/examples/example_basic.py diff --git a/06_typing_metaprogramming/abstract_base_classes/exercise/exercise_01.py b/modules/06_typing_metaprogramming/abstract_base_classes/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/abstract_base_classes/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/abstract_base_classes/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/abstract_base_classes/references/links.md b/modules/06_typing_metaprogramming/abstract_base_classes/references/links.md similarity index 100% rename from 06_typing_metaprogramming/abstract_base_classes/references/links.md rename to modules/06_typing_metaprogramming/abstract_base_classes/references/links.md diff --git a/06_typing_metaprogramming/abstract_base_classes/tests/test_basic.py b/modules/06_typing_metaprogramming/abstract_base_classes/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/abstract_base_classes/tests/test_basic.py rename to modules/06_typing_metaprogramming/abstract_base_classes/tests/test_basic.py diff --git a/06_typing_metaprogramming/advanced_descriptors/README.md b/modules/06_typing_metaprogramming/advanced_descriptors/README.md similarity index 100% rename from 06_typing_metaprogramming/advanced_descriptors/README.md rename to modules/06_typing_metaprogramming/advanced_descriptors/README.md diff --git a/06_typing_metaprogramming/advanced_descriptors/examples/example_basic.py b/modules/06_typing_metaprogramming/advanced_descriptors/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_descriptors/examples/example_basic.py rename to modules/06_typing_metaprogramming/advanced_descriptors/examples/example_basic.py diff --git a/06_typing_metaprogramming/advanced_descriptors/exercise/exercise_01.py b/modules/06_typing_metaprogramming/advanced_descriptors/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/advanced_descriptors/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/advanced_descriptors/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/advanced_descriptors/references/links.md b/modules/06_typing_metaprogramming/advanced_descriptors/references/links.md similarity index 100% rename from 06_typing_metaprogramming/advanced_descriptors/references/links.md rename to modules/06_typing_metaprogramming/advanced_descriptors/references/links.md diff --git a/06_typing_metaprogramming/advanced_descriptors/tests/test_basic.py b/modules/06_typing_metaprogramming/advanced_descriptors/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_descriptors/tests/test_basic.py rename to modules/06_typing_metaprogramming/advanced_descriptors/tests/test_basic.py diff --git a/06_typing_metaprogramming/advanced_metaclasses/README.md b/modules/06_typing_metaprogramming/advanced_metaclasses/README.md similarity index 100% rename from 06_typing_metaprogramming/advanced_metaclasses/README.md rename to modules/06_typing_metaprogramming/advanced_metaclasses/README.md diff --git a/06_typing_metaprogramming/advanced_metaclasses/examples/example_basic.py b/modules/06_typing_metaprogramming/advanced_metaclasses/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_metaclasses/examples/example_basic.py rename to modules/06_typing_metaprogramming/advanced_metaclasses/examples/example_basic.py diff --git a/06_typing_metaprogramming/advanced_metaclasses/exercise/exercise_01.py b/modules/06_typing_metaprogramming/advanced_metaclasses/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/advanced_metaclasses/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/advanced_metaclasses/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/advanced_metaclasses/references/links.md b/modules/06_typing_metaprogramming/advanced_metaclasses/references/links.md similarity index 100% rename from 06_typing_metaprogramming/advanced_metaclasses/references/links.md rename to modules/06_typing_metaprogramming/advanced_metaclasses/references/links.md diff --git a/06_typing_metaprogramming/advanced_metaclasses/tests/test_basic.py b/modules/06_typing_metaprogramming/advanced_metaclasses/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_metaclasses/tests/test_basic.py rename to modules/06_typing_metaprogramming/advanced_metaclasses/tests/test_basic.py diff --git a/06_typing_metaprogramming/advanced_typing/README.md b/modules/06_typing_metaprogramming/advanced_typing/README.md similarity index 100% rename from 06_typing_metaprogramming/advanced_typing/README.md rename to modules/06_typing_metaprogramming/advanced_typing/README.md diff --git a/06_typing_metaprogramming/advanced_typing/examples/example_basic.py b/modules/06_typing_metaprogramming/advanced_typing/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_typing/examples/example_basic.py rename to modules/06_typing_metaprogramming/advanced_typing/examples/example_basic.py diff --git a/06_typing_metaprogramming/advanced_typing/exercise/exercise_01.py b/modules/06_typing_metaprogramming/advanced_typing/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/advanced_typing/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/advanced_typing/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/advanced_typing/references/links.md b/modules/06_typing_metaprogramming/advanced_typing/references/links.md similarity index 100% rename from 06_typing_metaprogramming/advanced_typing/references/links.md rename to modules/06_typing_metaprogramming/advanced_typing/references/links.md diff --git a/06_typing_metaprogramming/advanced_typing/tests/test_basic.py b/modules/06_typing_metaprogramming/advanced_typing/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/advanced_typing/tests/test_basic.py rename to modules/06_typing_metaprogramming/advanced_typing/tests/test_basic.py diff --git a/06_typing_metaprogramming/ast_basics/README.md b/modules/06_typing_metaprogramming/ast_basics/README.md similarity index 100% rename from 06_typing_metaprogramming/ast_basics/README.md rename to modules/06_typing_metaprogramming/ast_basics/README.md diff --git a/06_typing_metaprogramming/ast_basics/examples/example_basic.py b/modules/06_typing_metaprogramming/ast_basics/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/ast_basics/examples/example_basic.py rename to modules/06_typing_metaprogramming/ast_basics/examples/example_basic.py diff --git a/06_typing_metaprogramming/ast_basics/exercise/exercise_01.py b/modules/06_typing_metaprogramming/ast_basics/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/ast_basics/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/ast_basics/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/ast_basics/references/links.md b/modules/06_typing_metaprogramming/ast_basics/references/links.md similarity index 100% rename from 06_typing_metaprogramming/ast_basics/references/links.md rename to modules/06_typing_metaprogramming/ast_basics/references/links.md diff --git a/06_typing_metaprogramming/ast_basics/tests/test_basic.py b/modules/06_typing_metaprogramming/ast_basics/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/ast_basics/tests/test_basic.py rename to modules/06_typing_metaprogramming/ast_basics/tests/test_basic.py diff --git a/06_typing_metaprogramming/ast_manipulation/README.md b/modules/06_typing_metaprogramming/ast_manipulation/README.md similarity index 100% rename from 06_typing_metaprogramming/ast_manipulation/README.md rename to modules/06_typing_metaprogramming/ast_manipulation/README.md diff --git a/06_typing_metaprogramming/ast_manipulation/examples/example_basic.py b/modules/06_typing_metaprogramming/ast_manipulation/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/ast_manipulation/examples/example_basic.py rename to modules/06_typing_metaprogramming/ast_manipulation/examples/example_basic.py diff --git a/06_typing_metaprogramming/ast_manipulation/exercise/exercise_01.py b/modules/06_typing_metaprogramming/ast_manipulation/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/ast_manipulation/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/ast_manipulation/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/ast_manipulation/references/links.md b/modules/06_typing_metaprogramming/ast_manipulation/references/links.md similarity index 100% rename from 06_typing_metaprogramming/ast_manipulation/references/links.md rename to modules/06_typing_metaprogramming/ast_manipulation/references/links.md diff --git a/06_typing_metaprogramming/ast_manipulation/tests/test_basic.py b/modules/06_typing_metaprogramming/ast_manipulation/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/ast_manipulation/tests/test_basic.py rename to modules/06_typing_metaprogramming/ast_manipulation/tests/test_basic.py diff --git a/06_typing_metaprogramming/basic_mypy/README.md b/modules/06_typing_metaprogramming/basic_mypy/README.md similarity index 100% rename from 06_typing_metaprogramming/basic_mypy/README.md rename to modules/06_typing_metaprogramming/basic_mypy/README.md diff --git a/06_typing_metaprogramming/basic_mypy/examples/example_basic.py b/modules/06_typing_metaprogramming/basic_mypy/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/basic_mypy/examples/example_basic.py rename to modules/06_typing_metaprogramming/basic_mypy/examples/example_basic.py diff --git a/06_typing_metaprogramming/basic_mypy/exercise/exercise_01.py b/modules/06_typing_metaprogramming/basic_mypy/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/basic_mypy/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/basic_mypy/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/basic_mypy/references/links.md b/modules/06_typing_metaprogramming/basic_mypy/references/links.md similarity index 100% rename from 06_typing_metaprogramming/basic_mypy/references/links.md rename to modules/06_typing_metaprogramming/basic_mypy/references/links.md diff --git a/06_typing_metaprogramming/basic_mypy/tests/test_basic.py b/modules/06_typing_metaprogramming/basic_mypy/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/basic_mypy/tests/test_basic.py rename to modules/06_typing_metaprogramming/basic_mypy/tests/test_basic.py diff --git a/06_typing_metaprogramming/basic_type_hints/README.md b/modules/06_typing_metaprogramming/basic_type_hints/README.md similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/README.md rename to modules/06_typing_metaprogramming/basic_type_hints/README.md diff --git a/06_typing_metaprogramming/basic_type_hints/examples/advanced_patterns.py b/modules/06_typing_metaprogramming/basic_type_hints/examples/advanced_patterns.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/examples/advanced_patterns.py rename to modules/06_typing_metaprogramming/basic_type_hints/examples/advanced_patterns.py diff --git a/06_typing_metaprogramming/basic_type_hints/examples/basic_annotations.py b/modules/06_typing_metaprogramming/basic_type_hints/examples/basic_annotations.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/examples/basic_annotations.py rename to modules/06_typing_metaprogramming/basic_type_hints/examples/basic_annotations.py diff --git a/06_typing_metaprogramming/basic_type_hints/examples/example_basic.py b/modules/06_typing_metaprogramming/basic_type_hints/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/examples/example_basic.py rename to modules/06_typing_metaprogramming/basic_type_hints/examples/example_basic.py diff --git a/06_typing_metaprogramming/basic_type_hints/exercise/advanced_exercise.py b/modules/06_typing_metaprogramming/basic_type_hints/exercise/advanced_exercise.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/exercise/advanced_exercise.py rename to modules/06_typing_metaprogramming/basic_type_hints/exercise/advanced_exercise.py diff --git a/06_typing_metaprogramming/basic_type_hints/exercise/basic_exercise.py b/modules/06_typing_metaprogramming/basic_type_hints/exercise/basic_exercise.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/exercise/basic_exercise.py rename to modules/06_typing_metaprogramming/basic_type_hints/exercise/basic_exercise.py diff --git a/06_typing_metaprogramming/basic_type_hints/exercise/exercise_01.py b/modules/06_typing_metaprogramming/basic_type_hints/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/basic_type_hints/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/basic_type_hints/exercise/intermediate_exercise.py b/modules/06_typing_metaprogramming/basic_type_hints/exercise/intermediate_exercise.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/exercise/intermediate_exercise.py rename to modules/06_typing_metaprogramming/basic_type_hints/exercise/intermediate_exercise.py diff --git a/06_typing_metaprogramming/basic_type_hints/references/links.md b/modules/06_typing_metaprogramming/basic_type_hints/references/links.md similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/references/links.md rename to modules/06_typing_metaprogramming/basic_type_hints/references/links.md diff --git a/06_typing_metaprogramming/basic_type_hints/tests/test_advanced.py b/modules/06_typing_metaprogramming/basic_type_hints/tests/test_advanced.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/tests/test_advanced.py rename to modules/06_typing_metaprogramming/basic_type_hints/tests/test_advanced.py diff --git a/06_typing_metaprogramming/basic_type_hints/tests/test_basic.py b/modules/06_typing_metaprogramming/basic_type_hints/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/tests/test_basic.py rename to modules/06_typing_metaprogramming/basic_type_hints/tests/test_basic.py diff --git a/06_typing_metaprogramming/basic_type_hints/tests/test_intermediate.py b/modules/06_typing_metaprogramming/basic_type_hints/tests/test_intermediate.py similarity index 100% rename from 06_typing_metaprogramming/basic_type_hints/tests/test_intermediate.py rename to modules/06_typing_metaprogramming/basic_type_hints/tests/test_intermediate.py diff --git a/06_typing_metaprogramming/class_decorators/README.md b/modules/06_typing_metaprogramming/class_decorators/README.md similarity index 100% rename from 06_typing_metaprogramming/class_decorators/README.md rename to modules/06_typing_metaprogramming/class_decorators/README.md diff --git a/06_typing_metaprogramming/class_decorators/examples/example_basic.py b/modules/06_typing_metaprogramming/class_decorators/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/class_decorators/examples/example_basic.py rename to modules/06_typing_metaprogramming/class_decorators/examples/example_basic.py diff --git a/06_typing_metaprogramming/class_decorators/exercise/exercise_01.py b/modules/06_typing_metaprogramming/class_decorators/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/class_decorators/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/class_decorators/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/class_decorators/references/links.md b/modules/06_typing_metaprogramming/class_decorators/references/links.md similarity index 100% rename from 06_typing_metaprogramming/class_decorators/references/links.md rename to modules/06_typing_metaprogramming/class_decorators/references/links.md diff --git a/06_typing_metaprogramming/class_decorators/tests/test_basic.py b/modules/06_typing_metaprogramming/class_decorators/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/class_decorators/tests/test_basic.py rename to modules/06_typing_metaprogramming/class_decorators/tests/test_basic.py diff --git a/06_typing_metaprogramming/dynamic_classes/README.md b/modules/06_typing_metaprogramming/dynamic_classes/README.md similarity index 100% rename from 06_typing_metaprogramming/dynamic_classes/README.md rename to modules/06_typing_metaprogramming/dynamic_classes/README.md diff --git a/06_typing_metaprogramming/dynamic_classes/examples/example_basic.py b/modules/06_typing_metaprogramming/dynamic_classes/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/dynamic_classes/examples/example_basic.py rename to modules/06_typing_metaprogramming/dynamic_classes/examples/example_basic.py diff --git a/06_typing_metaprogramming/dynamic_classes/exercise/exercise_01.py b/modules/06_typing_metaprogramming/dynamic_classes/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/dynamic_classes/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/dynamic_classes/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/dynamic_classes/references/links.md b/modules/06_typing_metaprogramming/dynamic_classes/references/links.md similarity index 100% rename from 06_typing_metaprogramming/dynamic_classes/references/links.md rename to modules/06_typing_metaprogramming/dynamic_classes/references/links.md diff --git a/06_typing_metaprogramming/dynamic_classes/tests/test_basic.py b/modules/06_typing_metaprogramming/dynamic_classes/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/dynamic_classes/tests/test_basic.py rename to modules/06_typing_metaprogramming/dynamic_classes/tests/test_basic.py diff --git a/06_typing_metaprogramming/exec_eval_compile/README.md b/modules/06_typing_metaprogramming/exec_eval_compile/README.md similarity index 100% rename from 06_typing_metaprogramming/exec_eval_compile/README.md rename to modules/06_typing_metaprogramming/exec_eval_compile/README.md diff --git a/06_typing_metaprogramming/exec_eval_compile/examples/example_basic.py b/modules/06_typing_metaprogramming/exec_eval_compile/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/exec_eval_compile/examples/example_basic.py rename to modules/06_typing_metaprogramming/exec_eval_compile/examples/example_basic.py diff --git a/06_typing_metaprogramming/exec_eval_compile/exercise/exercise_01.py b/modules/06_typing_metaprogramming/exec_eval_compile/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/exec_eval_compile/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/exec_eval_compile/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/exec_eval_compile/references/links.md b/modules/06_typing_metaprogramming/exec_eval_compile/references/links.md similarity index 100% rename from 06_typing_metaprogramming/exec_eval_compile/references/links.md rename to modules/06_typing_metaprogramming/exec_eval_compile/references/links.md diff --git a/06_typing_metaprogramming/exec_eval_compile/tests/test_basic.py b/modules/06_typing_metaprogramming/exec_eval_compile/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/exec_eval_compile/tests/test_basic.py rename to modules/06_typing_metaprogramming/exec_eval_compile/tests/test_basic.py diff --git a/06_typing_metaprogramming/generics_typevar/README.md b/modules/06_typing_metaprogramming/generics_typevar/README.md similarity index 100% rename from 06_typing_metaprogramming/generics_typevar/README.md rename to modules/06_typing_metaprogramming/generics_typevar/README.md diff --git a/06_typing_metaprogramming/generics_typevar/examples/example_basic.py b/modules/06_typing_metaprogramming/generics_typevar/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/generics_typevar/examples/example_basic.py rename to modules/06_typing_metaprogramming/generics_typevar/examples/example_basic.py diff --git a/06_typing_metaprogramming/generics_typevar/exercise/exercise_01.py b/modules/06_typing_metaprogramming/generics_typevar/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/generics_typevar/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/generics_typevar/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/generics_typevar/references/links.md b/modules/06_typing_metaprogramming/generics_typevar/references/links.md similarity index 100% rename from 06_typing_metaprogramming/generics_typevar/references/links.md rename to modules/06_typing_metaprogramming/generics_typevar/references/links.md diff --git a/06_typing_metaprogramming/generics_typevar/tests/test_basic.py b/modules/06_typing_metaprogramming/generics_typevar/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/generics_typevar/tests/test_basic.py rename to modules/06_typing_metaprogramming/generics_typevar/tests/test_basic.py diff --git a/06_typing_metaprogramming/init_subclass/README.md b/modules/06_typing_metaprogramming/init_subclass/README.md similarity index 100% rename from 06_typing_metaprogramming/init_subclass/README.md rename to modules/06_typing_metaprogramming/init_subclass/README.md diff --git a/06_typing_metaprogramming/init_subclass/examples/example_basic.py b/modules/06_typing_metaprogramming/init_subclass/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/init_subclass/examples/example_basic.py rename to modules/06_typing_metaprogramming/init_subclass/examples/example_basic.py diff --git a/06_typing_metaprogramming/init_subclass/exercise/exercise_01.py b/modules/06_typing_metaprogramming/init_subclass/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/init_subclass/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/init_subclass/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/init_subclass/references/links.md b/modules/06_typing_metaprogramming/init_subclass/references/links.md similarity index 100% rename from 06_typing_metaprogramming/init_subclass/references/links.md rename to modules/06_typing_metaprogramming/init_subclass/references/links.md diff --git a/06_typing_metaprogramming/init_subclass/tests/test_basic.py b/modules/06_typing_metaprogramming/init_subclass/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/init_subclass/tests/test_basic.py rename to modules/06_typing_metaprogramming/init_subclass/tests/test_basic.py diff --git a/06_typing_metaprogramming/introspection_inspect/README.md b/modules/06_typing_metaprogramming/introspection_inspect/README.md similarity index 100% rename from 06_typing_metaprogramming/introspection_inspect/README.md rename to modules/06_typing_metaprogramming/introspection_inspect/README.md diff --git a/06_typing_metaprogramming/introspection_inspect/examples/example_basic.py b/modules/06_typing_metaprogramming/introspection_inspect/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/introspection_inspect/examples/example_basic.py rename to modules/06_typing_metaprogramming/introspection_inspect/examples/example_basic.py diff --git a/06_typing_metaprogramming/introspection_inspect/exercise/exercise_01.py b/modules/06_typing_metaprogramming/introspection_inspect/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/introspection_inspect/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/introspection_inspect/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/introspection_inspect/references/links.md b/modules/06_typing_metaprogramming/introspection_inspect/references/links.md similarity index 100% rename from 06_typing_metaprogramming/introspection_inspect/references/links.md rename to modules/06_typing_metaprogramming/introspection_inspect/references/links.md diff --git a/06_typing_metaprogramming/introspection_inspect/tests/test_basic.py b/modules/06_typing_metaprogramming/introspection_inspect/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/introspection_inspect/tests/test_basic.py rename to modules/06_typing_metaprogramming/introspection_inspect/tests/test_basic.py diff --git a/06_typing_metaprogramming/literal_types/README.md b/modules/06_typing_metaprogramming/literal_types/README.md similarity index 100% rename from 06_typing_metaprogramming/literal_types/README.md rename to modules/06_typing_metaprogramming/literal_types/README.md diff --git a/06_typing_metaprogramming/literal_types/examples/example_basic.py b/modules/06_typing_metaprogramming/literal_types/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/literal_types/examples/example_basic.py rename to modules/06_typing_metaprogramming/literal_types/examples/example_basic.py diff --git a/06_typing_metaprogramming/literal_types/exercise/exercise_01.py b/modules/06_typing_metaprogramming/literal_types/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/literal_types/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/literal_types/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/literal_types/references/links.md b/modules/06_typing_metaprogramming/literal_types/references/links.md similarity index 100% rename from 06_typing_metaprogramming/literal_types/references/links.md rename to modules/06_typing_metaprogramming/literal_types/references/links.md diff --git a/06_typing_metaprogramming/literal_types/tests/test_basic.py b/modules/06_typing_metaprogramming/literal_types/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/literal_types/tests/test_basic.py rename to modules/06_typing_metaprogramming/literal_types/tests/test_basic.py diff --git a/06_typing_metaprogramming/metaclasses_intro/README.md b/modules/06_typing_metaprogramming/metaclasses_intro/README.md similarity index 100% rename from 06_typing_metaprogramming/metaclasses_intro/README.md rename to modules/06_typing_metaprogramming/metaclasses_intro/README.md diff --git a/06_typing_metaprogramming/metaclasses_intro/examples/example_basic.py b/modules/06_typing_metaprogramming/metaclasses_intro/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/metaclasses_intro/examples/example_basic.py rename to modules/06_typing_metaprogramming/metaclasses_intro/examples/example_basic.py diff --git a/06_typing_metaprogramming/metaclasses_intro/exercise/exercise_01.py b/modules/06_typing_metaprogramming/metaclasses_intro/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/metaclasses_intro/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/metaclasses_intro/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/metaclasses_intro/references/links.md b/modules/06_typing_metaprogramming/metaclasses_intro/references/links.md similarity index 100% rename from 06_typing_metaprogramming/metaclasses_intro/references/links.md rename to modules/06_typing_metaprogramming/metaclasses_intro/references/links.md diff --git a/06_typing_metaprogramming/metaclasses_intro/tests/test_basic.py b/modules/06_typing_metaprogramming/metaclasses_intro/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/metaclasses_intro/tests/test_basic.py rename to modules/06_typing_metaprogramming/metaclasses_intro/tests/test_basic.py diff --git a/06_typing_metaprogramming/overload/README.md b/modules/06_typing_metaprogramming/overload/README.md similarity index 100% rename from 06_typing_metaprogramming/overload/README.md rename to modules/06_typing_metaprogramming/overload/README.md diff --git a/06_typing_metaprogramming/overload/examples/example_basic.py b/modules/06_typing_metaprogramming/overload/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/overload/examples/example_basic.py rename to modules/06_typing_metaprogramming/overload/examples/example_basic.py diff --git a/06_typing_metaprogramming/overload/exercise/exercise_01.py b/modules/06_typing_metaprogramming/overload/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/overload/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/overload/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/overload/references/links.md b/modules/06_typing_metaprogramming/overload/references/links.md similarity index 100% rename from 06_typing_metaprogramming/overload/references/links.md rename to modules/06_typing_metaprogramming/overload/references/links.md diff --git a/06_typing_metaprogramming/overload/tests/test_basic.py b/modules/06_typing_metaprogramming/overload/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/overload/tests/test_basic.py rename to modules/06_typing_metaprogramming/overload/tests/test_basic.py diff --git a/06_typing_metaprogramming/protocol_structural_typing/README.md b/modules/06_typing_metaprogramming/protocol_structural_typing/README.md similarity index 100% rename from 06_typing_metaprogramming/protocol_structural_typing/README.md rename to modules/06_typing_metaprogramming/protocol_structural_typing/README.md diff --git a/06_typing_metaprogramming/protocol_structural_typing/examples/example_basic.py b/modules/06_typing_metaprogramming/protocol_structural_typing/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/protocol_structural_typing/examples/example_basic.py rename to modules/06_typing_metaprogramming/protocol_structural_typing/examples/example_basic.py diff --git a/06_typing_metaprogramming/protocol_structural_typing/exercise/exercise_01.py b/modules/06_typing_metaprogramming/protocol_structural_typing/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/protocol_structural_typing/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/protocol_structural_typing/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/protocol_structural_typing/references/links.md b/modules/06_typing_metaprogramming/protocol_structural_typing/references/links.md similarity index 100% rename from 06_typing_metaprogramming/protocol_structural_typing/references/links.md rename to modules/06_typing_metaprogramming/protocol_structural_typing/references/links.md diff --git a/06_typing_metaprogramming/protocol_structural_typing/tests/test_basic.py b/modules/06_typing_metaprogramming/protocol_structural_typing/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/protocol_structural_typing/tests/test_basic.py rename to modules/06_typing_metaprogramming/protocol_structural_typing/tests/test_basic.py diff --git a/06_typing_metaprogramming/runtime_type_checking/README.md b/modules/06_typing_metaprogramming/runtime_type_checking/README.md similarity index 100% rename from 06_typing_metaprogramming/runtime_type_checking/README.md rename to modules/06_typing_metaprogramming/runtime_type_checking/README.md diff --git a/06_typing_metaprogramming/runtime_type_checking/examples/example_basic.py b/modules/06_typing_metaprogramming/runtime_type_checking/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/runtime_type_checking/examples/example_basic.py rename to modules/06_typing_metaprogramming/runtime_type_checking/examples/example_basic.py diff --git a/06_typing_metaprogramming/runtime_type_checking/exercise/exercise_01.py b/modules/06_typing_metaprogramming/runtime_type_checking/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/runtime_type_checking/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/runtime_type_checking/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/runtime_type_checking/references/links.md b/modules/06_typing_metaprogramming/runtime_type_checking/references/links.md similarity index 100% rename from 06_typing_metaprogramming/runtime_type_checking/references/links.md rename to modules/06_typing_metaprogramming/runtime_type_checking/references/links.md diff --git a/06_typing_metaprogramming/runtime_type_checking/tests/test_basic.py b/modules/06_typing_metaprogramming/runtime_type_checking/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/runtime_type_checking/tests/test_basic.py rename to modules/06_typing_metaprogramming/runtime_type_checking/tests/test_basic.py diff --git a/06_typing_metaprogramming/set_name_descriptor/README.md b/modules/06_typing_metaprogramming/set_name_descriptor/README.md similarity index 100% rename from 06_typing_metaprogramming/set_name_descriptor/README.md rename to modules/06_typing_metaprogramming/set_name_descriptor/README.md diff --git a/06_typing_metaprogramming/set_name_descriptor/examples/example_basic.py b/modules/06_typing_metaprogramming/set_name_descriptor/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/set_name_descriptor/examples/example_basic.py rename to modules/06_typing_metaprogramming/set_name_descriptor/examples/example_basic.py diff --git a/06_typing_metaprogramming/set_name_descriptor/exercise/exercise_01.py b/modules/06_typing_metaprogramming/set_name_descriptor/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/set_name_descriptor/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/set_name_descriptor/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/set_name_descriptor/references/links.md b/modules/06_typing_metaprogramming/set_name_descriptor/references/links.md similarity index 100% rename from 06_typing_metaprogramming/set_name_descriptor/references/links.md rename to modules/06_typing_metaprogramming/set_name_descriptor/references/links.md diff --git a/06_typing_metaprogramming/set_name_descriptor/tests/test_basic.py b/modules/06_typing_metaprogramming/set_name_descriptor/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/set_name_descriptor/tests/test_basic.py rename to modules/06_typing_metaprogramming/set_name_descriptor/tests/test_basic.py diff --git a/06_typing_metaprogramming/typeddict_namedtuple/README.md b/modules/06_typing_metaprogramming/typeddict_namedtuple/README.md similarity index 100% rename from 06_typing_metaprogramming/typeddict_namedtuple/README.md rename to modules/06_typing_metaprogramming/typeddict_namedtuple/README.md diff --git a/06_typing_metaprogramming/typeddict_namedtuple/examples/example_basic.py b/modules/06_typing_metaprogramming/typeddict_namedtuple/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/typeddict_namedtuple/examples/example_basic.py rename to modules/06_typing_metaprogramming/typeddict_namedtuple/examples/example_basic.py diff --git a/06_typing_metaprogramming/typeddict_namedtuple/exercise/exercise_01.py b/modules/06_typing_metaprogramming/typeddict_namedtuple/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/typeddict_namedtuple/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/typeddict_namedtuple/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/typeddict_namedtuple/references/links.md b/modules/06_typing_metaprogramming/typeddict_namedtuple/references/links.md similarity index 100% rename from 06_typing_metaprogramming/typeddict_namedtuple/references/links.md rename to modules/06_typing_metaprogramming/typeddict_namedtuple/references/links.md diff --git a/06_typing_metaprogramming/typeddict_namedtuple/tests/test_basic.py b/modules/06_typing_metaprogramming/typeddict_namedtuple/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/typeddict_namedtuple/tests/test_basic.py rename to modules/06_typing_metaprogramming/typeddict_namedtuple/tests/test_basic.py diff --git a/06_typing_metaprogramming/union_optional/README.md b/modules/06_typing_metaprogramming/union_optional/README.md similarity index 100% rename from 06_typing_metaprogramming/union_optional/README.md rename to modules/06_typing_metaprogramming/union_optional/README.md diff --git a/06_typing_metaprogramming/union_optional/examples/example_basic.py b/modules/06_typing_metaprogramming/union_optional/examples/example_basic.py similarity index 100% rename from 06_typing_metaprogramming/union_optional/examples/example_basic.py rename to modules/06_typing_metaprogramming/union_optional/examples/example_basic.py diff --git a/06_typing_metaprogramming/union_optional/exercise/exercise_01.py b/modules/06_typing_metaprogramming/union_optional/exercise/exercise_01.py similarity index 100% rename from 06_typing_metaprogramming/union_optional/exercise/exercise_01.py rename to modules/06_typing_metaprogramming/union_optional/exercise/exercise_01.py diff --git a/06_typing_metaprogramming/union_optional/references/links.md b/modules/06_typing_metaprogramming/union_optional/references/links.md similarity index 100% rename from 06_typing_metaprogramming/union_optional/references/links.md rename to modules/06_typing_metaprogramming/union_optional/references/links.md diff --git a/06_typing_metaprogramming/union_optional/tests/test_basic.py b/modules/06_typing_metaprogramming/union_optional/tests/test_basic.py similarity index 100% rename from 06_typing_metaprogramming/union_optional/tests/test_basic.py rename to modules/06_typing_metaprogramming/union_optional/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/README.md b/modules/07_design_patterns/01_basic_gof/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/README.md rename to modules/07_design_patterns/01_basic_gof/README.md diff --git a/07_design_patterns/01_basic_gof/adapter/README.md b/modules/07_design_patterns/01_basic_gof/adapter/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/adapter/README.md rename to modules/07_design_patterns/01_basic_gof/adapter/README.md diff --git a/07_design_patterns/01_basic_gof/adapter/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/adapter/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/adapter/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/adapter/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/adapter/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/adapter/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/adapter/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/adapter/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/adapter/references/links.md b/modules/07_design_patterns/01_basic_gof/adapter/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/adapter/references/links.md rename to modules/07_design_patterns/01_basic_gof/adapter/references/links.md diff --git a/07_design_patterns/01_basic_gof/adapter/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/adapter/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/adapter/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/adapter/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/builder/README.md b/modules/07_design_patterns/01_basic_gof/builder/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/builder/README.md rename to modules/07_design_patterns/01_basic_gof/builder/README.md diff --git a/07_design_patterns/01_basic_gof/builder/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/builder/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/builder/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/builder/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/builder/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/builder/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/builder/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/builder/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/builder/references/links.md b/modules/07_design_patterns/01_basic_gof/builder/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/builder/references/links.md rename to modules/07_design_patterns/01_basic_gof/builder/references/links.md diff --git a/07_design_patterns/01_basic_gof/builder/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/builder/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/builder/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/builder/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/command/README.md b/modules/07_design_patterns/01_basic_gof/command/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/command/README.md rename to modules/07_design_patterns/01_basic_gof/command/README.md diff --git a/07_design_patterns/01_basic_gof/command/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/command/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/command/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/command/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/command/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/command/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/command/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/command/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/command/references/links.md b/modules/07_design_patterns/01_basic_gof/command/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/command/references/links.md rename to modules/07_design_patterns/01_basic_gof/command/references/links.md diff --git a/07_design_patterns/01_basic_gof/command/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/command/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/command/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/command/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/decorator_pattern/README.md b/modules/07_design_patterns/01_basic_gof/decorator_pattern/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/decorator_pattern/README.md rename to modules/07_design_patterns/01_basic_gof/decorator_pattern/README.md diff --git a/07_design_patterns/01_basic_gof/decorator_pattern/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/decorator_pattern/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/decorator_pattern/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/decorator_pattern/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/decorator_pattern/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/decorator_pattern/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/decorator_pattern/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/decorator_pattern/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/decorator_pattern/references/links.md b/modules/07_design_patterns/01_basic_gof/decorator_pattern/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/decorator_pattern/references/links.md rename to modules/07_design_patterns/01_basic_gof/decorator_pattern/references/links.md diff --git a/07_design_patterns/01_basic_gof/decorator_pattern/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/decorator_pattern/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/decorator_pattern/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/decorator_pattern/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/facade/README.md b/modules/07_design_patterns/01_basic_gof/facade/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/facade/README.md rename to modules/07_design_patterns/01_basic_gof/facade/README.md diff --git a/07_design_patterns/01_basic_gof/facade/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/facade/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/facade/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/facade/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/facade/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/facade/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/facade/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/facade/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/facade/references/links.md b/modules/07_design_patterns/01_basic_gof/facade/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/facade/references/links.md rename to modules/07_design_patterns/01_basic_gof/facade/references/links.md diff --git a/07_design_patterns/01_basic_gof/facade/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/facade/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/facade/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/facade/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/factory_method/README.md b/modules/07_design_patterns/01_basic_gof/factory_method/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/factory_method/README.md rename to modules/07_design_patterns/01_basic_gof/factory_method/README.md diff --git a/07_design_patterns/01_basic_gof/factory_method/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/factory_method/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/factory_method/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/factory_method/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/factory_method/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/factory_method/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/factory_method/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/factory_method/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/factory_method/references/links.md b/modules/07_design_patterns/01_basic_gof/factory_method/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/factory_method/references/links.md rename to modules/07_design_patterns/01_basic_gof/factory_method/references/links.md diff --git a/07_design_patterns/01_basic_gof/factory_method/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/factory_method/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/factory_method/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/factory_method/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/iterator/README.md b/modules/07_design_patterns/01_basic_gof/iterator/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/iterator/README.md rename to modules/07_design_patterns/01_basic_gof/iterator/README.md diff --git a/07_design_patterns/01_basic_gof/iterator/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/iterator/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/iterator/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/iterator/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/iterator/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/iterator/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/iterator/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/iterator/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/iterator/references/links.md b/modules/07_design_patterns/01_basic_gof/iterator/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/iterator/references/links.md rename to modules/07_design_patterns/01_basic_gof/iterator/references/links.md diff --git a/07_design_patterns/01_basic_gof/iterator/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/iterator/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/iterator/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/iterator/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/observer/README.md b/modules/07_design_patterns/01_basic_gof/observer/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/observer/README.md rename to modules/07_design_patterns/01_basic_gof/observer/README.md diff --git a/07_design_patterns/01_basic_gof/observer/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/observer/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/observer/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/observer/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/observer/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/observer/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/observer/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/observer/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/observer/references/links.md b/modules/07_design_patterns/01_basic_gof/observer/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/observer/references/links.md rename to modules/07_design_patterns/01_basic_gof/observer/references/links.md diff --git a/07_design_patterns/01_basic_gof/observer/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/observer/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/observer/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/observer/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/singleton/README.md b/modules/07_design_patterns/01_basic_gof/singleton/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/singleton/README.md rename to modules/07_design_patterns/01_basic_gof/singleton/README.md diff --git a/07_design_patterns/01_basic_gof/singleton/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/singleton/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/singleton/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/singleton/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/singleton/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/singleton/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/singleton/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/singleton/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/singleton/references/links.md b/modules/07_design_patterns/01_basic_gof/singleton/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/singleton/references/links.md rename to modules/07_design_patterns/01_basic_gof/singleton/references/links.md diff --git a/07_design_patterns/01_basic_gof/singleton/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/singleton/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/singleton/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/singleton/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/strategy/README.md b/modules/07_design_patterns/01_basic_gof/strategy/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/strategy/README.md rename to modules/07_design_patterns/01_basic_gof/strategy/README.md diff --git a/07_design_patterns/01_basic_gof/strategy/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/strategy/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/strategy/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/strategy/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/strategy/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/strategy/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/strategy/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/strategy/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/strategy/references/links.md b/modules/07_design_patterns/01_basic_gof/strategy/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/strategy/references/links.md rename to modules/07_design_patterns/01_basic_gof/strategy/references/links.md diff --git a/07_design_patterns/01_basic_gof/strategy/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/strategy/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/strategy/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/strategy/tests/test_basic.py diff --git a/07_design_patterns/01_basic_gof/template_method/README.md b/modules/07_design_patterns/01_basic_gof/template_method/README.md similarity index 100% rename from 07_design_patterns/01_basic_gof/template_method/README.md rename to modules/07_design_patterns/01_basic_gof/template_method/README.md diff --git a/07_design_patterns/01_basic_gof/template_method/examples/example_basic.py b/modules/07_design_patterns/01_basic_gof/template_method/examples/example_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/template_method/examples/example_basic.py rename to modules/07_design_patterns/01_basic_gof/template_method/examples/example_basic.py diff --git a/07_design_patterns/01_basic_gof/template_method/exercise/exercise_01.py b/modules/07_design_patterns/01_basic_gof/template_method/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/01_basic_gof/template_method/exercise/exercise_01.py rename to modules/07_design_patterns/01_basic_gof/template_method/exercise/exercise_01.py diff --git a/07_design_patterns/01_basic_gof/template_method/references/links.md b/modules/07_design_patterns/01_basic_gof/template_method/references/links.md similarity index 100% rename from 07_design_patterns/01_basic_gof/template_method/references/links.md rename to modules/07_design_patterns/01_basic_gof/template_method/references/links.md diff --git a/07_design_patterns/01_basic_gof/template_method/tests/test_basic.py b/modules/07_design_patterns/01_basic_gof/template_method/tests/test_basic.py similarity index 100% rename from 07_design_patterns/01_basic_gof/template_method/tests/test_basic.py rename to modules/07_design_patterns/01_basic_gof/template_method/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/README.md b/modules/07_design_patterns/02_pythonic_patterns/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/README.md rename to modules/07_design_patterns/02_pythonic_patterns/README.md diff --git a/07_design_patterns/02_pythonic_patterns/borg_monostate/README.md b/modules/07_design_patterns/02_pythonic_patterns/borg_monostate/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/borg_monostate/README.md rename to modules/07_design_patterns/02_pythonic_patterns/borg_monostate/README.md diff --git a/07_design_patterns/02_pythonic_patterns/borg_monostate/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/borg_monostate/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/borg_monostate/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/borg_monostate/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/borg_monostate/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/borg_monostate/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/borg_monostate/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/borg_monostate/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/borg_monostate/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/borg_monostate/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/borg_monostate/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/borg_monostate/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/borg_monostate/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/borg_monostate/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/borg_monostate/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/borg_monostate/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/context_manager/README.md b/modules/07_design_patterns/02_pythonic_patterns/context_manager/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/context_manager/README.md rename to modules/07_design_patterns/02_pythonic_patterns/context_manager/README.md diff --git a/07_design_patterns/02_pythonic_patterns/context_manager/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/context_manager/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/context_manager/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/context_manager/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/context_manager/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/context_manager/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/context_manager/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/context_manager/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/context_manager/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/context_manager/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/context_manager/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/context_manager/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/context_manager/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/context_manager/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/context_manager/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/context_manager/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/coroutine/README.md b/modules/07_design_patterns/02_pythonic_patterns/coroutine/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/coroutine/README.md rename to modules/07_design_patterns/02_pythonic_patterns/coroutine/README.md diff --git a/07_design_patterns/02_pythonic_patterns/coroutine/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/coroutine/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/coroutine/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/coroutine/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/coroutine/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/coroutine/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/coroutine/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/coroutine/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/coroutine/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/coroutine/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/coroutine/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/coroutine/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/coroutine/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/coroutine/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/coroutine/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/coroutine/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/dataclass/README.md b/modules/07_design_patterns/02_pythonic_patterns/dataclass/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/dataclass/README.md rename to modules/07_design_patterns/02_pythonic_patterns/dataclass/README.md diff --git a/07_design_patterns/02_pythonic_patterns/dataclass/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/dataclass/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/dataclass/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/dataclass/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/dataclass/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/dataclass/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/dataclass/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/dataclass/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/dataclass/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/dataclass/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/dataclass/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/dataclass/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/dataclass/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/dataclass/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/dataclass/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/dataclass/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/decorator_funcion/README.md b/modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/decorator_funcion/README.md rename to modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/README.md diff --git a/07_design_patterns/02_pythonic_patterns/decorator_funcion/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/decorator_funcion/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/decorator_funcion/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/decorator_funcion/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/decorator_funcion/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/decorator_funcion/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/decorator_funcion/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/decorator_funcion/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/decorator_funcion/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/descriptor/README.md b/modules/07_design_patterns/02_pythonic_patterns/descriptor/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/descriptor/README.md rename to modules/07_design_patterns/02_pythonic_patterns/descriptor/README.md diff --git a/07_design_patterns/02_pythonic_patterns/descriptor/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/descriptor/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/descriptor/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/descriptor/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/descriptor/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/descriptor/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/descriptor/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/descriptor/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/descriptor/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/descriptor/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/descriptor/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/descriptor/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/descriptor/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/descriptor/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/descriptor/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/descriptor/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/generator/README.md b/modules/07_design_patterns/02_pythonic_patterns/generator/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/generator/README.md rename to modules/07_design_patterns/02_pythonic_patterns/generator/README.md diff --git a/07_design_patterns/02_pythonic_patterns/generator/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/generator/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/generator/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/generator/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/generator/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/generator/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/generator/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/generator/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/generator/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/generator/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/generator/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/generator/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/generator/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/generator/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/generator/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/generator/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/lazy_property/README.md b/modules/07_design_patterns/02_pythonic_patterns/lazy_property/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/lazy_property/README.md rename to modules/07_design_patterns/02_pythonic_patterns/lazy_property/README.md diff --git a/07_design_patterns/02_pythonic_patterns/lazy_property/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/lazy_property/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/lazy_property/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/lazy_property/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/lazy_property/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/lazy_property/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/lazy_property/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/lazy_property/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/lazy_property/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/lazy_property/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/lazy_property/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/lazy_property/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/lazy_property/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/lazy_property/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/lazy_property/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/lazy_property/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/mixin/README.md b/modules/07_design_patterns/02_pythonic_patterns/mixin/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/mixin/README.md rename to modules/07_design_patterns/02_pythonic_patterns/mixin/README.md diff --git a/07_design_patterns/02_pythonic_patterns/mixin/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/mixin/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/mixin/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/mixin/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/mixin/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/mixin/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/mixin/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/mixin/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/mixin/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/mixin/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/mixin/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/mixin/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/mixin/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/mixin/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/mixin/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/mixin/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/plugin_system/README.md b/modules/07_design_patterns/02_pythonic_patterns/plugin_system/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/plugin_system/README.md rename to modules/07_design_patterns/02_pythonic_patterns/plugin_system/README.md diff --git a/07_design_patterns/02_pythonic_patterns/plugin_system/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/plugin_system/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/plugin_system/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/plugin_system/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/plugin_system/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/plugin_system/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/plugin_system/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/plugin_system/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/plugin_system/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/plugin_system/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/plugin_system/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/plugin_system/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/plugin_system/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/plugin_system/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/plugin_system/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/plugin_system/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/property/README.md b/modules/07_design_patterns/02_pythonic_patterns/property/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/property/README.md rename to modules/07_design_patterns/02_pythonic_patterns/property/README.md diff --git a/07_design_patterns/02_pythonic_patterns/property/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/property/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/property/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/property/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/property/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/property/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/property/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/property/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/property/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/property/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/property/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/property/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/property/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/property/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/property/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/property/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/protocol/README.md b/modules/07_design_patterns/02_pythonic_patterns/protocol/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/protocol/README.md rename to modules/07_design_patterns/02_pythonic_patterns/protocol/README.md diff --git a/07_design_patterns/02_pythonic_patterns/protocol/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/protocol/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/protocol/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/protocol/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/protocol/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/protocol/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/protocol/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/protocol/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/protocol/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/protocol/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/protocol/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/protocol/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/protocol/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/protocol/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/protocol/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/protocol/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/registry/README.md b/modules/07_design_patterns/02_pythonic_patterns/registry/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/registry/README.md rename to modules/07_design_patterns/02_pythonic_patterns/registry/README.md diff --git a/07_design_patterns/02_pythonic_patterns/registry/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/registry/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/registry/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/registry/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/registry/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/registry/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/registry/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/registry/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/registry/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/registry/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/registry/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/registry/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/registry/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/registry/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/registry/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/registry/tests/test_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/sentinel/README.md b/modules/07_design_patterns/02_pythonic_patterns/sentinel/README.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/sentinel/README.md rename to modules/07_design_patterns/02_pythonic_patterns/sentinel/README.md diff --git a/07_design_patterns/02_pythonic_patterns/sentinel/examples/example_basic.py b/modules/07_design_patterns/02_pythonic_patterns/sentinel/examples/example_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/sentinel/examples/example_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/sentinel/examples/example_basic.py diff --git a/07_design_patterns/02_pythonic_patterns/sentinel/exercise/exercise_01.py b/modules/07_design_patterns/02_pythonic_patterns/sentinel/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/sentinel/exercise/exercise_01.py rename to modules/07_design_patterns/02_pythonic_patterns/sentinel/exercise/exercise_01.py diff --git a/07_design_patterns/02_pythonic_patterns/sentinel/references/links.md b/modules/07_design_patterns/02_pythonic_patterns/sentinel/references/links.md similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/sentinel/references/links.md rename to modules/07_design_patterns/02_pythonic_patterns/sentinel/references/links.md diff --git a/07_design_patterns/02_pythonic_patterns/sentinel/tests/test_basic.py b/modules/07_design_patterns/02_pythonic_patterns/sentinel/tests/test_basic.py similarity index 100% rename from 07_design_patterns/02_pythonic_patterns/sentinel/tests/test_basic.py rename to modules/07_design_patterns/02_pythonic_patterns/sentinel/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/README.md b/modules/07_design_patterns/03_advanced_gof/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/README.md rename to modules/07_design_patterns/03_advanced_gof/README.md diff --git a/07_design_patterns/03_advanced_gof/abstract_factory/README.md b/modules/07_design_patterns/03_advanced_gof/abstract_factory/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/abstract_factory/README.md rename to modules/07_design_patterns/03_advanced_gof/abstract_factory/README.md diff --git a/07_design_patterns/03_advanced_gof/abstract_factory/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/abstract_factory/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/abstract_factory/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/abstract_factory/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/abstract_factory/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/abstract_factory/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/abstract_factory/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/abstract_factory/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/abstract_factory/references/links.md b/modules/07_design_patterns/03_advanced_gof/abstract_factory/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/abstract_factory/references/links.md rename to modules/07_design_patterns/03_advanced_gof/abstract_factory/references/links.md diff --git a/07_design_patterns/03_advanced_gof/abstract_factory/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/abstract_factory/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/abstract_factory/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/abstract_factory/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/bridge/README.md b/modules/07_design_patterns/03_advanced_gof/bridge/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/bridge/README.md rename to modules/07_design_patterns/03_advanced_gof/bridge/README.md diff --git a/07_design_patterns/03_advanced_gof/bridge/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/bridge/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/bridge/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/bridge/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/bridge/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/bridge/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/bridge/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/bridge/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/bridge/references/links.md b/modules/07_design_patterns/03_advanced_gof/bridge/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/bridge/references/links.md rename to modules/07_design_patterns/03_advanced_gof/bridge/references/links.md diff --git a/07_design_patterns/03_advanced_gof/bridge/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/bridge/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/bridge/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/bridge/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/chain_of_responsibility/README.md b/modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/chain_of_responsibility/README.md rename to modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/README.md diff --git a/07_design_patterns/03_advanced_gof/chain_of_responsibility/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/chain_of_responsibility/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/chain_of_responsibility/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/chain_of_responsibility/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/chain_of_responsibility/references/links.md b/modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/chain_of_responsibility/references/links.md rename to modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/references/links.md diff --git a/07_design_patterns/03_advanced_gof/chain_of_responsibility/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/chain_of_responsibility/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/chain_of_responsibility/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/composite/README.md b/modules/07_design_patterns/03_advanced_gof/composite/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/composite/README.md rename to modules/07_design_patterns/03_advanced_gof/composite/README.md diff --git a/07_design_patterns/03_advanced_gof/composite/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/composite/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/composite/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/composite/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/composite/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/composite/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/composite/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/composite/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/composite/references/links.md b/modules/07_design_patterns/03_advanced_gof/composite/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/composite/references/links.md rename to modules/07_design_patterns/03_advanced_gof/composite/references/links.md diff --git a/07_design_patterns/03_advanced_gof/composite/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/composite/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/composite/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/composite/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/flyweight/README.md b/modules/07_design_patterns/03_advanced_gof/flyweight/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/flyweight/README.md rename to modules/07_design_patterns/03_advanced_gof/flyweight/README.md diff --git a/07_design_patterns/03_advanced_gof/flyweight/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/flyweight/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/flyweight/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/flyweight/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/flyweight/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/flyweight/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/flyweight/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/flyweight/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/flyweight/references/links.md b/modules/07_design_patterns/03_advanced_gof/flyweight/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/flyweight/references/links.md rename to modules/07_design_patterns/03_advanced_gof/flyweight/references/links.md diff --git a/07_design_patterns/03_advanced_gof/flyweight/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/flyweight/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/flyweight/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/flyweight/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/interpreter/README.md b/modules/07_design_patterns/03_advanced_gof/interpreter/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/interpreter/README.md rename to modules/07_design_patterns/03_advanced_gof/interpreter/README.md diff --git a/07_design_patterns/03_advanced_gof/interpreter/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/interpreter/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/interpreter/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/interpreter/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/interpreter/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/interpreter/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/interpreter/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/interpreter/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/interpreter/references/links.md b/modules/07_design_patterns/03_advanced_gof/interpreter/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/interpreter/references/links.md rename to modules/07_design_patterns/03_advanced_gof/interpreter/references/links.md diff --git a/07_design_patterns/03_advanced_gof/interpreter/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/interpreter/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/interpreter/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/interpreter/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/mediator/README.md b/modules/07_design_patterns/03_advanced_gof/mediator/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/mediator/README.md rename to modules/07_design_patterns/03_advanced_gof/mediator/README.md diff --git a/07_design_patterns/03_advanced_gof/mediator/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/mediator/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/mediator/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/mediator/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/mediator/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/mediator/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/mediator/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/mediator/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/mediator/references/links.md b/modules/07_design_patterns/03_advanced_gof/mediator/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/mediator/references/links.md rename to modules/07_design_patterns/03_advanced_gof/mediator/references/links.md diff --git a/07_design_patterns/03_advanced_gof/mediator/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/mediator/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/mediator/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/mediator/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/memento/README.md b/modules/07_design_patterns/03_advanced_gof/memento/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/memento/README.md rename to modules/07_design_patterns/03_advanced_gof/memento/README.md diff --git a/07_design_patterns/03_advanced_gof/memento/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/memento/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/memento/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/memento/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/memento/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/memento/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/memento/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/memento/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/memento/references/links.md b/modules/07_design_patterns/03_advanced_gof/memento/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/memento/references/links.md rename to modules/07_design_patterns/03_advanced_gof/memento/references/links.md diff --git a/07_design_patterns/03_advanced_gof/memento/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/memento/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/memento/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/memento/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/prototype/README.md b/modules/07_design_patterns/03_advanced_gof/prototype/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/prototype/README.md rename to modules/07_design_patterns/03_advanced_gof/prototype/README.md diff --git a/07_design_patterns/03_advanced_gof/prototype/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/prototype/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/prototype/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/prototype/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/prototype/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/prototype/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/prototype/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/prototype/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/prototype/references/links.md b/modules/07_design_patterns/03_advanced_gof/prototype/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/prototype/references/links.md rename to modules/07_design_patterns/03_advanced_gof/prototype/references/links.md diff --git a/07_design_patterns/03_advanced_gof/prototype/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/prototype/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/prototype/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/prototype/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/proxy/README.md b/modules/07_design_patterns/03_advanced_gof/proxy/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/proxy/README.md rename to modules/07_design_patterns/03_advanced_gof/proxy/README.md diff --git a/07_design_patterns/03_advanced_gof/proxy/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/proxy/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/proxy/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/proxy/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/proxy/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/proxy/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/proxy/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/proxy/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/proxy/references/links.md b/modules/07_design_patterns/03_advanced_gof/proxy/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/proxy/references/links.md rename to modules/07_design_patterns/03_advanced_gof/proxy/references/links.md diff --git a/07_design_patterns/03_advanced_gof/proxy/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/proxy/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/proxy/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/proxy/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/state/README.md b/modules/07_design_patterns/03_advanced_gof/state/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/state/README.md rename to modules/07_design_patterns/03_advanced_gof/state/README.md diff --git a/07_design_patterns/03_advanced_gof/state/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/state/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/state/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/state/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/state/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/state/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/state/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/state/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/state/references/links.md b/modules/07_design_patterns/03_advanced_gof/state/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/state/references/links.md rename to modules/07_design_patterns/03_advanced_gof/state/references/links.md diff --git a/07_design_patterns/03_advanced_gof/state/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/state/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/state/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/state/tests/test_basic.py diff --git a/07_design_patterns/03_advanced_gof/visitor/README.md b/modules/07_design_patterns/03_advanced_gof/visitor/README.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/visitor/README.md rename to modules/07_design_patterns/03_advanced_gof/visitor/README.md diff --git a/07_design_patterns/03_advanced_gof/visitor/examples/example_basic.py b/modules/07_design_patterns/03_advanced_gof/visitor/examples/example_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/visitor/examples/example_basic.py rename to modules/07_design_patterns/03_advanced_gof/visitor/examples/example_basic.py diff --git a/07_design_patterns/03_advanced_gof/visitor/exercise/exercise_01.py b/modules/07_design_patterns/03_advanced_gof/visitor/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/visitor/exercise/exercise_01.py rename to modules/07_design_patterns/03_advanced_gof/visitor/exercise/exercise_01.py diff --git a/07_design_patterns/03_advanced_gof/visitor/references/links.md b/modules/07_design_patterns/03_advanced_gof/visitor/references/links.md similarity index 100% rename from 07_design_patterns/03_advanced_gof/visitor/references/links.md rename to modules/07_design_patterns/03_advanced_gof/visitor/references/links.md diff --git a/07_design_patterns/03_advanced_gof/visitor/tests/test_basic.py b/modules/07_design_patterns/03_advanced_gof/visitor/tests/test_basic.py similarity index 100% rename from 07_design_patterns/03_advanced_gof/visitor/tests/test_basic.py rename to modules/07_design_patterns/03_advanced_gof/visitor/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/README.md b/modules/07_design_patterns/04_architectural/README.md similarity index 100% rename from 07_design_patterns/04_architectural/README.md rename to modules/07_design_patterns/04_architectural/README.md diff --git a/07_design_patterns/04_architectural/active_record/README.md b/modules/07_design_patterns/04_architectural/active_record/README.md similarity index 100% rename from 07_design_patterns/04_architectural/active_record/README.md rename to modules/07_design_patterns/04_architectural/active_record/README.md diff --git a/07_design_patterns/04_architectural/active_record/examples/example_basic.py b/modules/07_design_patterns/04_architectural/active_record/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/active_record/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/active_record/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/active_record/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/active_record/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/active_record/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/active_record/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/active_record/references/links.md b/modules/07_design_patterns/04_architectural/active_record/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/active_record/references/links.md rename to modules/07_design_patterns/04_architectural/active_record/references/links.md diff --git a/07_design_patterns/04_architectural/active_record/tests/test_basic.py b/modules/07_design_patterns/04_architectural/active_record/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/active_record/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/active_record/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/api_gateway/README.md b/modules/07_design_patterns/04_architectural/api_gateway/README.md similarity index 100% rename from 07_design_patterns/04_architectural/api_gateway/README.md rename to modules/07_design_patterns/04_architectural/api_gateway/README.md diff --git a/07_design_patterns/04_architectural/api_gateway/examples/example_basic.py b/modules/07_design_patterns/04_architectural/api_gateway/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/api_gateway/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/api_gateway/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/api_gateway/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/api_gateway/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/api_gateway/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/api_gateway/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/api_gateway/references/links.md b/modules/07_design_patterns/04_architectural/api_gateway/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/api_gateway/references/links.md rename to modules/07_design_patterns/04_architectural/api_gateway/references/links.md diff --git a/07_design_patterns/04_architectural/api_gateway/tests/test_basic.py b/modules/07_design_patterns/04_architectural/api_gateway/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/api_gateway/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/api_gateway/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/clean_architecture/README.md b/modules/07_design_patterns/04_architectural/clean_architecture/README.md similarity index 100% rename from 07_design_patterns/04_architectural/clean_architecture/README.md rename to modules/07_design_patterns/04_architectural/clean_architecture/README.md diff --git a/07_design_patterns/04_architectural/clean_architecture/examples/example_basic.py b/modules/07_design_patterns/04_architectural/clean_architecture/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/clean_architecture/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/clean_architecture/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/clean_architecture/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/clean_architecture/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/clean_architecture/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/clean_architecture/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/clean_architecture/references/links.md b/modules/07_design_patterns/04_architectural/clean_architecture/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/clean_architecture/references/links.md rename to modules/07_design_patterns/04_architectural/clean_architecture/references/links.md diff --git a/07_design_patterns/04_architectural/clean_architecture/tests/test_basic.py b/modules/07_design_patterns/04_architectural/clean_architecture/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/clean_architecture/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/clean_architecture/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/data_mapper/README.md b/modules/07_design_patterns/04_architectural/data_mapper/README.md similarity index 100% rename from 07_design_patterns/04_architectural/data_mapper/README.md rename to modules/07_design_patterns/04_architectural/data_mapper/README.md diff --git a/07_design_patterns/04_architectural/data_mapper/examples/example_basic.py b/modules/07_design_patterns/04_architectural/data_mapper/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/data_mapper/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/data_mapper/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/data_mapper/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/data_mapper/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/data_mapper/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/data_mapper/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/data_mapper/references/links.md b/modules/07_design_patterns/04_architectural/data_mapper/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/data_mapper/references/links.md rename to modules/07_design_patterns/04_architectural/data_mapper/references/links.md diff --git a/07_design_patterns/04_architectural/data_mapper/tests/test_basic.py b/modules/07_design_patterns/04_architectural/data_mapper/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/data_mapper/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/data_mapper/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/dependency_injection/README.md b/modules/07_design_patterns/04_architectural/dependency_injection/README.md similarity index 100% rename from 07_design_patterns/04_architectural/dependency_injection/README.md rename to modules/07_design_patterns/04_architectural/dependency_injection/README.md diff --git a/07_design_patterns/04_architectural/dependency_injection/examples/example_basic.py b/modules/07_design_patterns/04_architectural/dependency_injection/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/dependency_injection/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/dependency_injection/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/dependency_injection/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/dependency_injection/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/dependency_injection/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/dependency_injection/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/dependency_injection/references/links.md b/modules/07_design_patterns/04_architectural/dependency_injection/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/dependency_injection/references/links.md rename to modules/07_design_patterns/04_architectural/dependency_injection/references/links.md diff --git a/07_design_patterns/04_architectural/dependency_injection/tests/test_basic.py b/modules/07_design_patterns/04_architectural/dependency_injection/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/dependency_injection/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/dependency_injection/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/domain_model/README.md b/modules/07_design_patterns/04_architectural/domain_model/README.md similarity index 100% rename from 07_design_patterns/04_architectural/domain_model/README.md rename to modules/07_design_patterns/04_architectural/domain_model/README.md diff --git a/07_design_patterns/04_architectural/domain_model/examples/example_basic.py b/modules/07_design_patterns/04_architectural/domain_model/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/domain_model/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/domain_model/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/domain_model/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/domain_model/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/domain_model/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/domain_model/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/domain_model/references/links.md b/modules/07_design_patterns/04_architectural/domain_model/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/domain_model/references/links.md rename to modules/07_design_patterns/04_architectural/domain_model/references/links.md diff --git a/07_design_patterns/04_architectural/domain_model/tests/test_basic.py b/modules/07_design_patterns/04_architectural/domain_model/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/domain_model/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/domain_model/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/hexagonal_architecture/README.md b/modules/07_design_patterns/04_architectural/hexagonal_architecture/README.md similarity index 100% rename from 07_design_patterns/04_architectural/hexagonal_architecture/README.md rename to modules/07_design_patterns/04_architectural/hexagonal_architecture/README.md diff --git a/07_design_patterns/04_architectural/hexagonal_architecture/examples/example_basic.py b/modules/07_design_patterns/04_architectural/hexagonal_architecture/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/hexagonal_architecture/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/hexagonal_architecture/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/hexagonal_architecture/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/hexagonal_architecture/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/hexagonal_architecture/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/hexagonal_architecture/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/hexagonal_architecture/references/links.md b/modules/07_design_patterns/04_architectural/hexagonal_architecture/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/hexagonal_architecture/references/links.md rename to modules/07_design_patterns/04_architectural/hexagonal_architecture/references/links.md diff --git a/07_design_patterns/04_architectural/hexagonal_architecture/tests/test_basic.py b/modules/07_design_patterns/04_architectural/hexagonal_architecture/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/hexagonal_architecture/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/hexagonal_architecture/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/mvc/README.md b/modules/07_design_patterns/04_architectural/mvc/README.md similarity index 100% rename from 07_design_patterns/04_architectural/mvc/README.md rename to modules/07_design_patterns/04_architectural/mvc/README.md diff --git a/07_design_patterns/04_architectural/mvc/examples/example_basic.py b/modules/07_design_patterns/04_architectural/mvc/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvc/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/mvc/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/mvc/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/mvc/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/mvc/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/mvc/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/mvc/references/links.md b/modules/07_design_patterns/04_architectural/mvc/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/mvc/references/links.md rename to modules/07_design_patterns/04_architectural/mvc/references/links.md diff --git a/07_design_patterns/04_architectural/mvc/tests/test_basic.py b/modules/07_design_patterns/04_architectural/mvc/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvc/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/mvc/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/mvp/README.md b/modules/07_design_patterns/04_architectural/mvp/README.md similarity index 100% rename from 07_design_patterns/04_architectural/mvp/README.md rename to modules/07_design_patterns/04_architectural/mvp/README.md diff --git a/07_design_patterns/04_architectural/mvp/examples/example_basic.py b/modules/07_design_patterns/04_architectural/mvp/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvp/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/mvp/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/mvp/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/mvp/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/mvp/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/mvp/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/mvp/references/links.md b/modules/07_design_patterns/04_architectural/mvp/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/mvp/references/links.md rename to modules/07_design_patterns/04_architectural/mvp/references/links.md diff --git a/07_design_patterns/04_architectural/mvp/tests/test_basic.py b/modules/07_design_patterns/04_architectural/mvp/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvp/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/mvp/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/mvvm/README.md b/modules/07_design_patterns/04_architectural/mvvm/README.md similarity index 100% rename from 07_design_patterns/04_architectural/mvvm/README.md rename to modules/07_design_patterns/04_architectural/mvvm/README.md diff --git a/07_design_patterns/04_architectural/mvvm/examples/example_basic.py b/modules/07_design_patterns/04_architectural/mvvm/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvvm/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/mvvm/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/mvvm/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/mvvm/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/mvvm/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/mvvm/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/mvvm/references/links.md b/modules/07_design_patterns/04_architectural/mvvm/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/mvvm/references/links.md rename to modules/07_design_patterns/04_architectural/mvvm/references/links.md diff --git a/07_design_patterns/04_architectural/mvvm/tests/test_basic.py b/modules/07_design_patterns/04_architectural/mvvm/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/mvvm/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/mvvm/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/repository/README.md b/modules/07_design_patterns/04_architectural/repository/README.md similarity index 100% rename from 07_design_patterns/04_architectural/repository/README.md rename to modules/07_design_patterns/04_architectural/repository/README.md diff --git a/07_design_patterns/04_architectural/repository/examples/example_basic.py b/modules/07_design_patterns/04_architectural/repository/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/repository/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/repository/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/repository/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/repository/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/repository/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/repository/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/repository/references/links.md b/modules/07_design_patterns/04_architectural/repository/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/repository/references/links.md rename to modules/07_design_patterns/04_architectural/repository/references/links.md diff --git a/07_design_patterns/04_architectural/repository/tests/test_basic.py b/modules/07_design_patterns/04_architectural/repository/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/repository/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/repository/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/service_layer/README.md b/modules/07_design_patterns/04_architectural/service_layer/README.md similarity index 100% rename from 07_design_patterns/04_architectural/service_layer/README.md rename to modules/07_design_patterns/04_architectural/service_layer/README.md diff --git a/07_design_patterns/04_architectural/service_layer/examples/example_basic.py b/modules/07_design_patterns/04_architectural/service_layer/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/service_layer/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/service_layer/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/service_layer/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/service_layer/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/service_layer/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/service_layer/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/service_layer/references/links.md b/modules/07_design_patterns/04_architectural/service_layer/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/service_layer/references/links.md rename to modules/07_design_patterns/04_architectural/service_layer/references/links.md diff --git a/07_design_patterns/04_architectural/service_layer/tests/test_basic.py b/modules/07_design_patterns/04_architectural/service_layer/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/service_layer/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/service_layer/tests/test_basic.py diff --git a/07_design_patterns/04_architectural/unit_of_work/README.md b/modules/07_design_patterns/04_architectural/unit_of_work/README.md similarity index 100% rename from 07_design_patterns/04_architectural/unit_of_work/README.md rename to modules/07_design_patterns/04_architectural/unit_of_work/README.md diff --git a/07_design_patterns/04_architectural/unit_of_work/examples/example_basic.py b/modules/07_design_patterns/04_architectural/unit_of_work/examples/example_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/unit_of_work/examples/example_basic.py rename to modules/07_design_patterns/04_architectural/unit_of_work/examples/example_basic.py diff --git a/07_design_patterns/04_architectural/unit_of_work/exercise/exercise_01.py b/modules/07_design_patterns/04_architectural/unit_of_work/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/04_architectural/unit_of_work/exercise/exercise_01.py rename to modules/07_design_patterns/04_architectural/unit_of_work/exercise/exercise_01.py diff --git a/07_design_patterns/04_architectural/unit_of_work/references/links.md b/modules/07_design_patterns/04_architectural/unit_of_work/references/links.md similarity index 100% rename from 07_design_patterns/04_architectural/unit_of_work/references/links.md rename to modules/07_design_patterns/04_architectural/unit_of_work/references/links.md diff --git a/07_design_patterns/04_architectural/unit_of_work/tests/test_basic.py b/modules/07_design_patterns/04_architectural/unit_of_work/tests/test_basic.py similarity index 100% rename from 07_design_patterns/04_architectural/unit_of_work/tests/test_basic.py rename to modules/07_design_patterns/04_architectural/unit_of_work/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/README.md b/modules/07_design_patterns/05_distributed_systems/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/README.md rename to modules/07_design_patterns/05_distributed_systems/README.md diff --git a/07_design_patterns/05_distributed_systems/backend_for_frontend/README.md b/modules/07_design_patterns/05_distributed_systems/backend_for_frontend/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/backend_for_frontend/README.md rename to modules/07_design_patterns/05_distributed_systems/backend_for_frontend/README.md diff --git a/07_design_patterns/05_distributed_systems/backend_for_frontend/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/backend_for_frontend/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/backend_for_frontend/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/backend_for_frontend/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/backend_for_frontend/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/backend_for_frontend/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/backend_for_frontend/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/backend_for_frontend/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/backend_for_frontend/references/links.md b/modules/07_design_patterns/05_distributed_systems/backend_for_frontend/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/backend_for_frontend/references/links.md rename to modules/07_design_patterns/05_distributed_systems/backend_for_frontend/references/links.md diff --git a/07_design_patterns/05_distributed_systems/backend_for_frontend/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/backend_for_frontend/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/backend_for_frontend/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/backend_for_frontend/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/bulkhead/README.md b/modules/07_design_patterns/05_distributed_systems/bulkhead/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/bulkhead/README.md rename to modules/07_design_patterns/05_distributed_systems/bulkhead/README.md diff --git a/07_design_patterns/05_distributed_systems/bulkhead/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/bulkhead/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/bulkhead/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/bulkhead/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/bulkhead/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/bulkhead/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/bulkhead/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/bulkhead/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/bulkhead/references/links.md b/modules/07_design_patterns/05_distributed_systems/bulkhead/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/bulkhead/references/links.md rename to modules/07_design_patterns/05_distributed_systems/bulkhead/references/links.md diff --git a/07_design_patterns/05_distributed_systems/bulkhead/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/bulkhead/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/bulkhead/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/bulkhead/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/cache_aside/README.md b/modules/07_design_patterns/05_distributed_systems/cache_aside/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/cache_aside/README.md rename to modules/07_design_patterns/05_distributed_systems/cache_aside/README.md diff --git a/07_design_patterns/05_distributed_systems/cache_aside/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/cache_aside/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cache_aside/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/cache_aside/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/cache_aside/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/cache_aside/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cache_aside/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/cache_aside/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/cache_aside/references/links.md b/modules/07_design_patterns/05_distributed_systems/cache_aside/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/cache_aside/references/links.md rename to modules/07_design_patterns/05_distributed_systems/cache_aside/references/links.md diff --git a/07_design_patterns/05_distributed_systems/cache_aside/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/cache_aside/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cache_aside/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/cache_aside/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/circuit_breaker/README.md b/modules/07_design_patterns/05_distributed_systems/circuit_breaker/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/circuit_breaker/README.md rename to modules/07_design_patterns/05_distributed_systems/circuit_breaker/README.md diff --git a/07_design_patterns/05_distributed_systems/circuit_breaker/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/circuit_breaker/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/circuit_breaker/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/circuit_breaker/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/circuit_breaker/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/circuit_breaker/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/circuit_breaker/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/circuit_breaker/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/circuit_breaker/references/links.md b/modules/07_design_patterns/05_distributed_systems/circuit_breaker/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/circuit_breaker/references/links.md rename to modules/07_design_patterns/05_distributed_systems/circuit_breaker/references/links.md diff --git a/07_design_patterns/05_distributed_systems/circuit_breaker/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/circuit_breaker/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/circuit_breaker/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/circuit_breaker/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/cqrs/README.md b/modules/07_design_patterns/05_distributed_systems/cqrs/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/cqrs/README.md rename to modules/07_design_patterns/05_distributed_systems/cqrs/README.md diff --git a/07_design_patterns/05_distributed_systems/cqrs/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/cqrs/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cqrs/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/cqrs/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/cqrs/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/cqrs/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cqrs/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/cqrs/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/cqrs/references/links.md b/modules/07_design_patterns/05_distributed_systems/cqrs/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/cqrs/references/links.md rename to modules/07_design_patterns/05_distributed_systems/cqrs/references/links.md diff --git a/07_design_patterns/05_distributed_systems/cqrs/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/cqrs/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/cqrs/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/cqrs/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/event_driven/README.md b/modules/07_design_patterns/05_distributed_systems/event_driven/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_driven/README.md rename to modules/07_design_patterns/05_distributed_systems/event_driven/README.md diff --git a/07_design_patterns/05_distributed_systems/event_driven/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/event_driven/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_driven/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/event_driven/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/event_driven/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/event_driven/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_driven/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/event_driven/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/event_driven/references/links.md b/modules/07_design_patterns/05_distributed_systems/event_driven/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_driven/references/links.md rename to modules/07_design_patterns/05_distributed_systems/event_driven/references/links.md diff --git a/07_design_patterns/05_distributed_systems/event_driven/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/event_driven/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_driven/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/event_driven/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/event_sourcing/README.md b/modules/07_design_patterns/05_distributed_systems/event_sourcing/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_sourcing/README.md rename to modules/07_design_patterns/05_distributed_systems/event_sourcing/README.md diff --git a/07_design_patterns/05_distributed_systems/event_sourcing/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/event_sourcing/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_sourcing/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/event_sourcing/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/event_sourcing/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/event_sourcing/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_sourcing/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/event_sourcing/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/event_sourcing/references/links.md b/modules/07_design_patterns/05_distributed_systems/event_sourcing/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_sourcing/references/links.md rename to modules/07_design_patterns/05_distributed_systems/event_sourcing/references/links.md diff --git a/07_design_patterns/05_distributed_systems/event_sourcing/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/event_sourcing/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/event_sourcing/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/event_sourcing/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/rate_limiter/README.md b/modules/07_design_patterns/05_distributed_systems/rate_limiter/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/rate_limiter/README.md rename to modules/07_design_patterns/05_distributed_systems/rate_limiter/README.md diff --git a/07_design_patterns/05_distributed_systems/rate_limiter/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/rate_limiter/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/rate_limiter/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/rate_limiter/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/rate_limiter/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/rate_limiter/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/rate_limiter/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/rate_limiter/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/rate_limiter/references/links.md b/modules/07_design_patterns/05_distributed_systems/rate_limiter/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/rate_limiter/references/links.md rename to modules/07_design_patterns/05_distributed_systems/rate_limiter/references/links.md diff --git a/07_design_patterns/05_distributed_systems/rate_limiter/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/rate_limiter/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/rate_limiter/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/rate_limiter/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/retry_pattern/README.md b/modules/07_design_patterns/05_distributed_systems/retry_pattern/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/retry_pattern/README.md rename to modules/07_design_patterns/05_distributed_systems/retry_pattern/README.md diff --git a/07_design_patterns/05_distributed_systems/retry_pattern/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/retry_pattern/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/retry_pattern/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/retry_pattern/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/retry_pattern/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/retry_pattern/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/retry_pattern/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/retry_pattern/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/retry_pattern/references/links.md b/modules/07_design_patterns/05_distributed_systems/retry_pattern/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/retry_pattern/references/links.md rename to modules/07_design_patterns/05_distributed_systems/retry_pattern/references/links.md diff --git a/07_design_patterns/05_distributed_systems/retry_pattern/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/retry_pattern/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/retry_pattern/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/retry_pattern/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/saga/README.md b/modules/07_design_patterns/05_distributed_systems/saga/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/saga/README.md rename to modules/07_design_patterns/05_distributed_systems/saga/README.md diff --git a/07_design_patterns/05_distributed_systems/saga/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/saga/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/saga/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/saga/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/saga/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/saga/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/saga/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/saga/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/saga/references/links.md b/modules/07_design_patterns/05_distributed_systems/saga/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/saga/references/links.md rename to modules/07_design_patterns/05_distributed_systems/saga/references/links.md diff --git a/07_design_patterns/05_distributed_systems/saga/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/saga/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/saga/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/saga/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/sidecar/README.md b/modules/07_design_patterns/05_distributed_systems/sidecar/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/sidecar/README.md rename to modules/07_design_patterns/05_distributed_systems/sidecar/README.md diff --git a/07_design_patterns/05_distributed_systems/sidecar/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/sidecar/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/sidecar/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/sidecar/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/sidecar/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/sidecar/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/sidecar/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/sidecar/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/sidecar/references/links.md b/modules/07_design_patterns/05_distributed_systems/sidecar/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/sidecar/references/links.md rename to modules/07_design_patterns/05_distributed_systems/sidecar/references/links.md diff --git a/07_design_patterns/05_distributed_systems/sidecar/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/sidecar/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/sidecar/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/sidecar/tests/test_basic.py diff --git a/07_design_patterns/05_distributed_systems/timeout/README.md b/modules/07_design_patterns/05_distributed_systems/timeout/README.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/timeout/README.md rename to modules/07_design_patterns/05_distributed_systems/timeout/README.md diff --git a/07_design_patterns/05_distributed_systems/timeout/examples/example_basic.py b/modules/07_design_patterns/05_distributed_systems/timeout/examples/example_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/timeout/examples/example_basic.py rename to modules/07_design_patterns/05_distributed_systems/timeout/examples/example_basic.py diff --git a/07_design_patterns/05_distributed_systems/timeout/exercise/exercise_01.py b/modules/07_design_patterns/05_distributed_systems/timeout/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/timeout/exercise/exercise_01.py rename to modules/07_design_patterns/05_distributed_systems/timeout/exercise/exercise_01.py diff --git a/07_design_patterns/05_distributed_systems/timeout/references/links.md b/modules/07_design_patterns/05_distributed_systems/timeout/references/links.md similarity index 100% rename from 07_design_patterns/05_distributed_systems/timeout/references/links.md rename to modules/07_design_patterns/05_distributed_systems/timeout/references/links.md diff --git a/07_design_patterns/05_distributed_systems/timeout/tests/test_basic.py b/modules/07_design_patterns/05_distributed_systems/timeout/tests/test_basic.py similarity index 100% rename from 07_design_patterns/05_distributed_systems/timeout/tests/test_basic.py rename to modules/07_design_patterns/05_distributed_systems/timeout/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/README.md b/modules/07_design_patterns/06_concurrency/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/README.md rename to modules/07_design_patterns/06_concurrency/README.md diff --git a/07_design_patterns/06_concurrency/active_object/README.md b/modules/07_design_patterns/06_concurrency/active_object/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/active_object/README.md rename to modules/07_design_patterns/06_concurrency/active_object/README.md diff --git a/07_design_patterns/06_concurrency/active_object/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/active_object/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/active_object/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/active_object/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/active_object/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/active_object/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/active_object/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/active_object/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/active_object/references/links.md b/modules/07_design_patterns/06_concurrency/active_object/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/active_object/references/links.md rename to modules/07_design_patterns/06_concurrency/active_object/references/links.md diff --git a/07_design_patterns/06_concurrency/active_object/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/active_object/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/active_object/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/active_object/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/barrier_pattern/README.md b/modules/07_design_patterns/06_concurrency/barrier_pattern/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/barrier_pattern/README.md rename to modules/07_design_patterns/06_concurrency/barrier_pattern/README.md diff --git a/07_design_patterns/06_concurrency/barrier_pattern/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/barrier_pattern/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/barrier_pattern/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/barrier_pattern/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/barrier_pattern/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/barrier_pattern/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/barrier_pattern/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/barrier_pattern/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/barrier_pattern/references/links.md b/modules/07_design_patterns/06_concurrency/barrier_pattern/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/barrier_pattern/references/links.md rename to modules/07_design_patterns/06_concurrency/barrier_pattern/references/links.md diff --git a/07_design_patterns/06_concurrency/barrier_pattern/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/barrier_pattern/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/barrier_pattern/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/barrier_pattern/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/double_checked_locking/README.md b/modules/07_design_patterns/06_concurrency/double_checked_locking/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/double_checked_locking/README.md rename to modules/07_design_patterns/06_concurrency/double_checked_locking/README.md diff --git a/07_design_patterns/06_concurrency/double_checked_locking/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/double_checked_locking/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/double_checked_locking/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/double_checked_locking/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/double_checked_locking/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/double_checked_locking/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/double_checked_locking/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/double_checked_locking/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/double_checked_locking/references/links.md b/modules/07_design_patterns/06_concurrency/double_checked_locking/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/double_checked_locking/references/links.md rename to modules/07_design_patterns/06_concurrency/double_checked_locking/references/links.md diff --git a/07_design_patterns/06_concurrency/double_checked_locking/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/double_checked_locking/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/double_checked_locking/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/double_checked_locking/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/future_promise/README.md b/modules/07_design_patterns/06_concurrency/future_promise/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/future_promise/README.md rename to modules/07_design_patterns/06_concurrency/future_promise/README.md diff --git a/07_design_patterns/06_concurrency/future_promise/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/future_promise/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/future_promise/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/future_promise/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/future_promise/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/future_promise/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/future_promise/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/future_promise/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/future_promise/references/links.md b/modules/07_design_patterns/06_concurrency/future_promise/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/future_promise/references/links.md rename to modules/07_design_patterns/06_concurrency/future_promise/references/links.md diff --git a/07_design_patterns/06_concurrency/future_promise/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/future_promise/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/future_promise/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/future_promise/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/half_sync_half_async/README.md b/modules/07_design_patterns/06_concurrency/half_sync_half_async/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/half_sync_half_async/README.md rename to modules/07_design_patterns/06_concurrency/half_sync_half_async/README.md diff --git a/07_design_patterns/06_concurrency/half_sync_half_async/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/half_sync_half_async/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/half_sync_half_async/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/half_sync_half_async/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/half_sync_half_async/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/half_sync_half_async/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/half_sync_half_async/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/half_sync_half_async/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/half_sync_half_async/references/links.md b/modules/07_design_patterns/06_concurrency/half_sync_half_async/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/half_sync_half_async/references/links.md rename to modules/07_design_patterns/06_concurrency/half_sync_half_async/references/links.md diff --git a/07_design_patterns/06_concurrency/half_sync_half_async/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/half_sync_half_async/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/half_sync_half_async/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/half_sync_half_async/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/leader_followers/README.md b/modules/07_design_patterns/06_concurrency/leader_followers/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/leader_followers/README.md rename to modules/07_design_patterns/06_concurrency/leader_followers/README.md diff --git a/07_design_patterns/06_concurrency/leader_followers/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/leader_followers/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/leader_followers/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/leader_followers/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/leader_followers/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/leader_followers/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/leader_followers/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/leader_followers/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/leader_followers/references/links.md b/modules/07_design_patterns/06_concurrency/leader_followers/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/leader_followers/references/links.md rename to modules/07_design_patterns/06_concurrency/leader_followers/references/links.md diff --git a/07_design_patterns/06_concurrency/leader_followers/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/leader_followers/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/leader_followers/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/leader_followers/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/monitor_object/README.md b/modules/07_design_patterns/06_concurrency/monitor_object/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/monitor_object/README.md rename to modules/07_design_patterns/06_concurrency/monitor_object/README.md diff --git a/07_design_patterns/06_concurrency/monitor_object/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/monitor_object/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/monitor_object/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/monitor_object/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/monitor_object/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/monitor_object/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/monitor_object/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/monitor_object/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/monitor_object/references/links.md b/modules/07_design_patterns/06_concurrency/monitor_object/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/monitor_object/references/links.md rename to modules/07_design_patterns/06_concurrency/monitor_object/references/links.md diff --git a/07_design_patterns/06_concurrency/monitor_object/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/monitor_object/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/monitor_object/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/monitor_object/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/proactor/README.md b/modules/07_design_patterns/06_concurrency/proactor/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/proactor/README.md rename to modules/07_design_patterns/06_concurrency/proactor/README.md diff --git a/07_design_patterns/06_concurrency/proactor/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/proactor/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/proactor/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/proactor/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/proactor/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/proactor/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/proactor/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/proactor/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/proactor/references/links.md b/modules/07_design_patterns/06_concurrency/proactor/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/proactor/references/links.md rename to modules/07_design_patterns/06_concurrency/proactor/references/links.md diff --git a/07_design_patterns/06_concurrency/proactor/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/proactor/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/proactor/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/proactor/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/producer_consumer/README.md b/modules/07_design_patterns/06_concurrency/producer_consumer/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/producer_consumer/README.md rename to modules/07_design_patterns/06_concurrency/producer_consumer/README.md diff --git a/07_design_patterns/06_concurrency/producer_consumer/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/producer_consumer/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/producer_consumer/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/producer_consumer/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/producer_consumer/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/producer_consumer/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/producer_consumer/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/producer_consumer/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/producer_consumer/references/links.md b/modules/07_design_patterns/06_concurrency/producer_consumer/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/producer_consumer/references/links.md rename to modules/07_design_patterns/06_concurrency/producer_consumer/references/links.md diff --git a/07_design_patterns/06_concurrency/producer_consumer/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/producer_consumer/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/producer_consumer/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/producer_consumer/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/reactor/README.md b/modules/07_design_patterns/06_concurrency/reactor/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/reactor/README.md rename to modules/07_design_patterns/06_concurrency/reactor/README.md diff --git a/07_design_patterns/06_concurrency/reactor/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/reactor/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/reactor/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/reactor/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/reactor/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/reactor/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/reactor/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/reactor/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/reactor/references/links.md b/modules/07_design_patterns/06_concurrency/reactor/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/reactor/references/links.md rename to modules/07_design_patterns/06_concurrency/reactor/references/links.md diff --git a/07_design_patterns/06_concurrency/reactor/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/reactor/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/reactor/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/reactor/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/read_write_lock/README.md b/modules/07_design_patterns/06_concurrency/read_write_lock/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/read_write_lock/README.md rename to modules/07_design_patterns/06_concurrency/read_write_lock/README.md diff --git a/07_design_patterns/06_concurrency/read_write_lock/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/read_write_lock/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/read_write_lock/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/read_write_lock/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/read_write_lock/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/read_write_lock/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/read_write_lock/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/read_write_lock/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/read_write_lock/references/links.md b/modules/07_design_patterns/06_concurrency/read_write_lock/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/read_write_lock/references/links.md rename to modules/07_design_patterns/06_concurrency/read_write_lock/references/links.md diff --git a/07_design_patterns/06_concurrency/read_write_lock/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/read_write_lock/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/read_write_lock/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/read_write_lock/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/scheduler/README.md b/modules/07_design_patterns/06_concurrency/scheduler/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/scheduler/README.md rename to modules/07_design_patterns/06_concurrency/scheduler/README.md diff --git a/07_design_patterns/06_concurrency/scheduler/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/scheduler/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/scheduler/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/scheduler/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/scheduler/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/scheduler/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/scheduler/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/scheduler/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/scheduler/references/links.md b/modules/07_design_patterns/06_concurrency/scheduler/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/scheduler/references/links.md rename to modules/07_design_patterns/06_concurrency/scheduler/references/links.md diff --git a/07_design_patterns/06_concurrency/scheduler/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/scheduler/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/scheduler/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/scheduler/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/thread_pool/README.md b/modules/07_design_patterns/06_concurrency/thread_pool/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/thread_pool/README.md rename to modules/07_design_patterns/06_concurrency/thread_pool/README.md diff --git a/07_design_patterns/06_concurrency/thread_pool/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/thread_pool/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_pool/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/thread_pool/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/thread_pool/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/thread_pool/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_pool/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/thread_pool/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/thread_pool/references/links.md b/modules/07_design_patterns/06_concurrency/thread_pool/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/thread_pool/references/links.md rename to modules/07_design_patterns/06_concurrency/thread_pool/references/links.md diff --git a/07_design_patterns/06_concurrency/thread_pool/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/thread_pool/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_pool/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/thread_pool/tests/test_basic.py diff --git a/07_design_patterns/06_concurrency/thread_specific_storage/README.md b/modules/07_design_patterns/06_concurrency/thread_specific_storage/README.md similarity index 100% rename from 07_design_patterns/06_concurrency/thread_specific_storage/README.md rename to modules/07_design_patterns/06_concurrency/thread_specific_storage/README.md diff --git a/07_design_patterns/06_concurrency/thread_specific_storage/examples/example_basic.py b/modules/07_design_patterns/06_concurrency/thread_specific_storage/examples/example_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_specific_storage/examples/example_basic.py rename to modules/07_design_patterns/06_concurrency/thread_specific_storage/examples/example_basic.py diff --git a/07_design_patterns/06_concurrency/thread_specific_storage/exercise/exercise_01.py b/modules/07_design_patterns/06_concurrency/thread_specific_storage/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_specific_storage/exercise/exercise_01.py rename to modules/07_design_patterns/06_concurrency/thread_specific_storage/exercise/exercise_01.py diff --git a/07_design_patterns/06_concurrency/thread_specific_storage/references/links.md b/modules/07_design_patterns/06_concurrency/thread_specific_storage/references/links.md similarity index 100% rename from 07_design_patterns/06_concurrency/thread_specific_storage/references/links.md rename to modules/07_design_patterns/06_concurrency/thread_specific_storage/references/links.md diff --git a/07_design_patterns/06_concurrency/thread_specific_storage/tests/test_basic.py b/modules/07_design_patterns/06_concurrency/thread_specific_storage/tests/test_basic.py similarity index 100% rename from 07_design_patterns/06_concurrency/thread_specific_storage/tests/test_basic.py rename to modules/07_design_patterns/06_concurrency/thread_specific_storage/tests/test_basic.py diff --git a/07_design_patterns/07_messaging/README.md b/modules/07_design_patterns/07_messaging/README.md similarity index 100% rename from 07_design_patterns/07_messaging/README.md rename to modules/07_design_patterns/07_messaging/README.md diff --git a/07_design_patterns/07_messaging/event_bus/README.md b/modules/07_design_patterns/07_messaging/event_bus/README.md similarity index 100% rename from 07_design_patterns/07_messaging/event_bus/README.md rename to modules/07_design_patterns/07_messaging/event_bus/README.md diff --git a/07_design_patterns/07_messaging/event_bus/examples/example_basic.py b/modules/07_design_patterns/07_messaging/event_bus/examples/example_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/event_bus/examples/example_basic.py rename to modules/07_design_patterns/07_messaging/event_bus/examples/example_basic.py diff --git a/07_design_patterns/07_messaging/event_bus/exercise/exercise_01.py b/modules/07_design_patterns/07_messaging/event_bus/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/07_messaging/event_bus/exercise/exercise_01.py rename to modules/07_design_patterns/07_messaging/event_bus/exercise/exercise_01.py diff --git a/07_design_patterns/07_messaging/event_bus/references/links.md b/modules/07_design_patterns/07_messaging/event_bus/references/links.md similarity index 100% rename from 07_design_patterns/07_messaging/event_bus/references/links.md rename to modules/07_design_patterns/07_messaging/event_bus/references/links.md diff --git a/07_design_patterns/07_messaging/event_bus/tests/test_basic.py b/modules/07_design_patterns/07_messaging/event_bus/tests/test_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/event_bus/tests/test_basic.py rename to modules/07_design_patterns/07_messaging/event_bus/tests/test_basic.py diff --git a/07_design_patterns/07_messaging/message_queue/README.md b/modules/07_design_patterns/07_messaging/message_queue/README.md similarity index 100% rename from 07_design_patterns/07_messaging/message_queue/README.md rename to modules/07_design_patterns/07_messaging/message_queue/README.md diff --git a/07_design_patterns/07_messaging/message_queue/examples/example_basic.py b/modules/07_design_patterns/07_messaging/message_queue/examples/example_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/message_queue/examples/example_basic.py rename to modules/07_design_patterns/07_messaging/message_queue/examples/example_basic.py diff --git a/07_design_patterns/07_messaging/message_queue/exercise/exercise_01.py b/modules/07_design_patterns/07_messaging/message_queue/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/07_messaging/message_queue/exercise/exercise_01.py rename to modules/07_design_patterns/07_messaging/message_queue/exercise/exercise_01.py diff --git a/07_design_patterns/07_messaging/message_queue/references/links.md b/modules/07_design_patterns/07_messaging/message_queue/references/links.md similarity index 100% rename from 07_design_patterns/07_messaging/message_queue/references/links.md rename to modules/07_design_patterns/07_messaging/message_queue/references/links.md diff --git a/07_design_patterns/07_messaging/message_queue/tests/test_basic.py b/modules/07_design_patterns/07_messaging/message_queue/tests/test_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/message_queue/tests/test_basic.py rename to modules/07_design_patterns/07_messaging/message_queue/tests/test_basic.py diff --git a/07_design_patterns/07_messaging/publish_subscribe/README.md b/modules/07_design_patterns/07_messaging/publish_subscribe/README.md similarity index 100% rename from 07_design_patterns/07_messaging/publish_subscribe/README.md rename to modules/07_design_patterns/07_messaging/publish_subscribe/README.md diff --git a/07_design_patterns/07_messaging/publish_subscribe/examples/example_basic.py b/modules/07_design_patterns/07_messaging/publish_subscribe/examples/example_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/publish_subscribe/examples/example_basic.py rename to modules/07_design_patterns/07_messaging/publish_subscribe/examples/example_basic.py diff --git a/07_design_patterns/07_messaging/publish_subscribe/exercise/exercise_01.py b/modules/07_design_patterns/07_messaging/publish_subscribe/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/07_messaging/publish_subscribe/exercise/exercise_01.py rename to modules/07_design_patterns/07_messaging/publish_subscribe/exercise/exercise_01.py diff --git a/07_design_patterns/07_messaging/publish_subscribe/references/links.md b/modules/07_design_patterns/07_messaging/publish_subscribe/references/links.md similarity index 100% rename from 07_design_patterns/07_messaging/publish_subscribe/references/links.md rename to modules/07_design_patterns/07_messaging/publish_subscribe/references/links.md diff --git a/07_design_patterns/07_messaging/publish_subscribe/tests/test_basic.py b/modules/07_design_patterns/07_messaging/publish_subscribe/tests/test_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/publish_subscribe/tests/test_basic.py rename to modules/07_design_patterns/07_messaging/publish_subscribe/tests/test_basic.py diff --git a/07_design_patterns/07_messaging/request_reply/README.md b/modules/07_design_patterns/07_messaging/request_reply/README.md similarity index 100% rename from 07_design_patterns/07_messaging/request_reply/README.md rename to modules/07_design_patterns/07_messaging/request_reply/README.md diff --git a/07_design_patterns/07_messaging/request_reply/examples/example_basic.py b/modules/07_design_patterns/07_messaging/request_reply/examples/example_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/request_reply/examples/example_basic.py rename to modules/07_design_patterns/07_messaging/request_reply/examples/example_basic.py diff --git a/07_design_patterns/07_messaging/request_reply/exercise/exercise_01.py b/modules/07_design_patterns/07_messaging/request_reply/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/07_messaging/request_reply/exercise/exercise_01.py rename to modules/07_design_patterns/07_messaging/request_reply/exercise/exercise_01.py diff --git a/07_design_patterns/07_messaging/request_reply/references/links.md b/modules/07_design_patterns/07_messaging/request_reply/references/links.md similarity index 100% rename from 07_design_patterns/07_messaging/request_reply/references/links.md rename to modules/07_design_patterns/07_messaging/request_reply/references/links.md diff --git a/07_design_patterns/07_messaging/request_reply/tests/test_basic.py b/modules/07_design_patterns/07_messaging/request_reply/tests/test_basic.py similarity index 100% rename from 07_design_patterns/07_messaging/request_reply/tests/test_basic.py rename to modules/07_design_patterns/07_messaging/request_reply/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/README.md b/modules/07_design_patterns/08_object_management/README.md similarity index 100% rename from 07_design_patterns/08_object_management/README.md rename to modules/07_design_patterns/08_object_management/README.md diff --git a/07_design_patterns/08_object_management/aggregate/README.md b/modules/07_design_patterns/08_object_management/aggregate/README.md similarity index 100% rename from 07_design_patterns/08_object_management/aggregate/README.md rename to modules/07_design_patterns/08_object_management/aggregate/README.md diff --git a/07_design_patterns/08_object_management/aggregate/examples/example_basic.py b/modules/07_design_patterns/08_object_management/aggregate/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/aggregate/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/aggregate/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/aggregate/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/aggregate/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/aggregate/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/aggregate/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/aggregate/references/links.md b/modules/07_design_patterns/08_object_management/aggregate/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/aggregate/references/links.md rename to modules/07_design_patterns/08_object_management/aggregate/references/links.md diff --git a/07_design_patterns/08_object_management/aggregate/tests/test_basic.py b/modules/07_design_patterns/08_object_management/aggregate/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/aggregate/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/aggregate/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/eager_initialization/README.md b/modules/07_design_patterns/08_object_management/eager_initialization/README.md similarity index 100% rename from 07_design_patterns/08_object_management/eager_initialization/README.md rename to modules/07_design_patterns/08_object_management/eager_initialization/README.md diff --git a/07_design_patterns/08_object_management/eager_initialization/examples/example_basic.py b/modules/07_design_patterns/08_object_management/eager_initialization/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/eager_initialization/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/eager_initialization/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/eager_initialization/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/eager_initialization/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/eager_initialization/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/eager_initialization/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/eager_initialization/references/links.md b/modules/07_design_patterns/08_object_management/eager_initialization/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/eager_initialization/references/links.md rename to modules/07_design_patterns/08_object_management/eager_initialization/references/links.md diff --git a/07_design_patterns/08_object_management/eager_initialization/tests/test_basic.py b/modules/07_design_patterns/08_object_management/eager_initialization/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/eager_initialization/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/eager_initialization/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/entity/README.md b/modules/07_design_patterns/08_object_management/entity/README.md similarity index 100% rename from 07_design_patterns/08_object_management/entity/README.md rename to modules/07_design_patterns/08_object_management/entity/README.md diff --git a/07_design_patterns/08_object_management/entity/examples/example_basic.py b/modules/07_design_patterns/08_object_management/entity/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/entity/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/entity/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/entity/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/entity/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/entity/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/entity/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/entity/references/links.md b/modules/07_design_patterns/08_object_management/entity/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/entity/references/links.md rename to modules/07_design_patterns/08_object_management/entity/references/links.md diff --git a/07_design_patterns/08_object_management/entity/tests/test_basic.py b/modules/07_design_patterns/08_object_management/entity/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/entity/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/entity/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/lazy_initialization/README.md b/modules/07_design_patterns/08_object_management/lazy_initialization/README.md similarity index 100% rename from 07_design_patterns/08_object_management/lazy_initialization/README.md rename to modules/07_design_patterns/08_object_management/lazy_initialization/README.md diff --git a/07_design_patterns/08_object_management/lazy_initialization/examples/example_basic.py b/modules/07_design_patterns/08_object_management/lazy_initialization/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/lazy_initialization/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/lazy_initialization/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/lazy_initialization/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/lazy_initialization/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/lazy_initialization/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/lazy_initialization/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/lazy_initialization/references/links.md b/modules/07_design_patterns/08_object_management/lazy_initialization/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/lazy_initialization/references/links.md rename to modules/07_design_patterns/08_object_management/lazy_initialization/references/links.md diff --git a/07_design_patterns/08_object_management/lazy_initialization/tests/test_basic.py b/modules/07_design_patterns/08_object_management/lazy_initialization/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/lazy_initialization/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/lazy_initialization/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/multiton/README.md b/modules/07_design_patterns/08_object_management/multiton/README.md similarity index 100% rename from 07_design_patterns/08_object_management/multiton/README.md rename to modules/07_design_patterns/08_object_management/multiton/README.md diff --git a/07_design_patterns/08_object_management/multiton/examples/example_basic.py b/modules/07_design_patterns/08_object_management/multiton/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/multiton/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/multiton/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/multiton/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/multiton/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/multiton/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/multiton/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/multiton/references/links.md b/modules/07_design_patterns/08_object_management/multiton/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/multiton/references/links.md rename to modules/07_design_patterns/08_object_management/multiton/references/links.md diff --git a/07_design_patterns/08_object_management/multiton/tests/test_basic.py b/modules/07_design_patterns/08_object_management/multiton/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/multiton/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/multiton/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/null_object/README.md b/modules/07_design_patterns/08_object_management/null_object/README.md similarity index 100% rename from 07_design_patterns/08_object_management/null_object/README.md rename to modules/07_design_patterns/08_object_management/null_object/README.md diff --git a/07_design_patterns/08_object_management/null_object/examples/example_basic.py b/modules/07_design_patterns/08_object_management/null_object/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/null_object/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/null_object/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/null_object/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/null_object/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/null_object/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/null_object/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/null_object/references/links.md b/modules/07_design_patterns/08_object_management/null_object/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/null_object/references/links.md rename to modules/07_design_patterns/08_object_management/null_object/references/links.md diff --git a/07_design_patterns/08_object_management/null_object/tests/test_basic.py b/modules/07_design_patterns/08_object_management/null_object/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/null_object/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/null_object/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/object_pool/README.md b/modules/07_design_patterns/08_object_management/object_pool/README.md similarity index 100% rename from 07_design_patterns/08_object_management/object_pool/README.md rename to modules/07_design_patterns/08_object_management/object_pool/README.md diff --git a/07_design_patterns/08_object_management/object_pool/examples/example_basic.py b/modules/07_design_patterns/08_object_management/object_pool/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/object_pool/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/object_pool/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/object_pool/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/object_pool/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/object_pool/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/object_pool/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/object_pool/references/links.md b/modules/07_design_patterns/08_object_management/object_pool/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/object_pool/references/links.md rename to modules/07_design_patterns/08_object_management/object_pool/references/links.md diff --git a/07_design_patterns/08_object_management/object_pool/tests/test_basic.py b/modules/07_design_patterns/08_object_management/object_pool/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/object_pool/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/object_pool/tests/test_basic.py diff --git a/07_design_patterns/08_object_management/value_object/README.md b/modules/07_design_patterns/08_object_management/value_object/README.md similarity index 100% rename from 07_design_patterns/08_object_management/value_object/README.md rename to modules/07_design_patterns/08_object_management/value_object/README.md diff --git a/07_design_patterns/08_object_management/value_object/examples/example_basic.py b/modules/07_design_patterns/08_object_management/value_object/examples/example_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/value_object/examples/example_basic.py rename to modules/07_design_patterns/08_object_management/value_object/examples/example_basic.py diff --git a/07_design_patterns/08_object_management/value_object/exercise/exercise_01.py b/modules/07_design_patterns/08_object_management/value_object/exercise/exercise_01.py similarity index 100% rename from 07_design_patterns/08_object_management/value_object/exercise/exercise_01.py rename to modules/07_design_patterns/08_object_management/value_object/exercise/exercise_01.py diff --git a/07_design_patterns/08_object_management/value_object/references/links.md b/modules/07_design_patterns/08_object_management/value_object/references/links.md similarity index 100% rename from 07_design_patterns/08_object_management/value_object/references/links.md rename to modules/07_design_patterns/08_object_management/value_object/references/links.md diff --git a/07_design_patterns/08_object_management/value_object/tests/test_basic.py b/modules/07_design_patterns/08_object_management/value_object/tests/test_basic.py similarity index 100% rename from 07_design_patterns/08_object_management/value_object/tests/test_basic.py rename to modules/07_design_patterns/08_object_management/value_object/tests/test_basic.py diff --git a/07_design_patterns/README.md b/modules/07_design_patterns/README.md similarity index 100% rename from 07_design_patterns/README.md rename to modules/07_design_patterns/README.md diff --git a/08_application_architecture/README.md b/modules/08_application_architecture/README.md similarity index 100% rename from 08_application_architecture/README.md rename to modules/08_application_architecture/README.md diff --git a/08_application_architecture/cqrs_pattern/README.md b/modules/08_application_architecture/cqrs_pattern/README.md similarity index 100% rename from 08_application_architecture/cqrs_pattern/README.md rename to modules/08_application_architecture/cqrs_pattern/README.md diff --git a/08_application_architecture/cqrs_pattern/examples/example_basic.py b/modules/08_application_architecture/cqrs_pattern/examples/example_basic.py similarity index 100% rename from 08_application_architecture/cqrs_pattern/examples/example_basic.py rename to modules/08_application_architecture/cqrs_pattern/examples/example_basic.py diff --git a/08_application_architecture/cqrs_pattern/exercise/exercise_01.py b/modules/08_application_architecture/cqrs_pattern/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/cqrs_pattern/exercise/exercise_01.py rename to modules/08_application_architecture/cqrs_pattern/exercise/exercise_01.py diff --git a/08_application_architecture/cqrs_pattern/references/links.md b/modules/08_application_architecture/cqrs_pattern/references/links.md similarity index 100% rename from 08_application_architecture/cqrs_pattern/references/links.md rename to modules/08_application_architecture/cqrs_pattern/references/links.md diff --git a/08_application_architecture/cqrs_pattern/tests/test_basic.py b/modules/08_application_architecture/cqrs_pattern/tests/test_basic.py similarity index 100% rename from 08_application_architecture/cqrs_pattern/tests/test_basic.py rename to modules/08_application_architecture/cqrs_pattern/tests/test_basic.py diff --git a/08_application_architecture/ddd_intro/README.md b/modules/08_application_architecture/ddd_intro/README.md similarity index 100% rename from 08_application_architecture/ddd_intro/README.md rename to modules/08_application_architecture/ddd_intro/README.md diff --git a/08_application_architecture/ddd_intro/examples/example_basic.py b/modules/08_application_architecture/ddd_intro/examples/example_basic.py similarity index 100% rename from 08_application_architecture/ddd_intro/examples/example_basic.py rename to modules/08_application_architecture/ddd_intro/examples/example_basic.py diff --git a/08_application_architecture/ddd_intro/exercise/exercise_01.py b/modules/08_application_architecture/ddd_intro/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/ddd_intro/exercise/exercise_01.py rename to modules/08_application_architecture/ddd_intro/exercise/exercise_01.py diff --git a/08_application_architecture/ddd_intro/references/links.md b/modules/08_application_architecture/ddd_intro/references/links.md similarity index 100% rename from 08_application_architecture/ddd_intro/references/links.md rename to modules/08_application_architecture/ddd_intro/references/links.md diff --git a/08_application_architecture/ddd_intro/tests/test_basic.py b/modules/08_application_architecture/ddd_intro/tests/test_basic.py similarity index 100% rename from 08_application_architecture/ddd_intro/tests/test_basic.py rename to modules/08_application_architecture/ddd_intro/tests/test_basic.py diff --git a/08_application_architecture/dependency_injection/README.md b/modules/08_application_architecture/dependency_injection/README.md similarity index 100% rename from 08_application_architecture/dependency_injection/README.md rename to modules/08_application_architecture/dependency_injection/README.md diff --git a/08_application_architecture/dependency_injection/examples/example_basic.py b/modules/08_application_architecture/dependency_injection/examples/example_basic.py similarity index 100% rename from 08_application_architecture/dependency_injection/examples/example_basic.py rename to modules/08_application_architecture/dependency_injection/examples/example_basic.py diff --git a/08_application_architecture/dependency_injection/exercise/exercise_01.py b/modules/08_application_architecture/dependency_injection/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/dependency_injection/exercise/exercise_01.py rename to modules/08_application_architecture/dependency_injection/exercise/exercise_01.py diff --git a/08_application_architecture/dependency_injection/references/links.md b/modules/08_application_architecture/dependency_injection/references/links.md similarity index 100% rename from 08_application_architecture/dependency_injection/references/links.md rename to modules/08_application_architecture/dependency_injection/references/links.md diff --git a/08_application_architecture/dependency_injection/tests/test_basic.py b/modules/08_application_architecture/dependency_injection/tests/test_basic.py similarity index 100% rename from 08_application_architecture/dependency_injection/tests/test_basic.py rename to modules/08_application_architecture/dependency_injection/tests/test_basic.py diff --git a/08_application_architecture/dependency_inversion/README.md b/modules/08_application_architecture/dependency_inversion/README.md similarity index 100% rename from 08_application_architecture/dependency_inversion/README.md rename to modules/08_application_architecture/dependency_inversion/README.md diff --git a/08_application_architecture/dependency_inversion/examples/example_basic.py b/modules/08_application_architecture/dependency_inversion/examples/example_basic.py similarity index 100% rename from 08_application_architecture/dependency_inversion/examples/example_basic.py rename to modules/08_application_architecture/dependency_inversion/examples/example_basic.py diff --git a/08_application_architecture/dependency_inversion/exercise/exercise_01.py b/modules/08_application_architecture/dependency_inversion/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/dependency_inversion/exercise/exercise_01.py rename to modules/08_application_architecture/dependency_inversion/exercise/exercise_01.py diff --git a/08_application_architecture/dependency_inversion/references/links.md b/modules/08_application_architecture/dependency_inversion/references/links.md similarity index 100% rename from 08_application_architecture/dependency_inversion/references/links.md rename to modules/08_application_architecture/dependency_inversion/references/links.md diff --git a/08_application_architecture/dependency_inversion/tests/test_basic.py b/modules/08_application_architecture/dependency_inversion/tests/test_basic.py similarity index 100% rename from 08_application_architecture/dependency_inversion/tests/test_basic.py rename to modules/08_application_architecture/dependency_inversion/tests/test_basic.py diff --git a/08_application_architecture/entities_value_objects/README.md b/modules/08_application_architecture/entities_value_objects/README.md similarity index 100% rename from 08_application_architecture/entities_value_objects/README.md rename to modules/08_application_architecture/entities_value_objects/README.md diff --git a/08_application_architecture/entities_value_objects/examples/example_basic.py b/modules/08_application_architecture/entities_value_objects/examples/example_basic.py similarity index 100% rename from 08_application_architecture/entities_value_objects/examples/example_basic.py rename to modules/08_application_architecture/entities_value_objects/examples/example_basic.py diff --git a/08_application_architecture/entities_value_objects/exercise/exercise_01.py b/modules/08_application_architecture/entities_value_objects/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/entities_value_objects/exercise/exercise_01.py rename to modules/08_application_architecture/entities_value_objects/exercise/exercise_01.py diff --git a/08_application_architecture/entities_value_objects/references/links.md b/modules/08_application_architecture/entities_value_objects/references/links.md similarity index 100% rename from 08_application_architecture/entities_value_objects/references/links.md rename to modules/08_application_architecture/entities_value_objects/references/links.md diff --git a/08_application_architecture/entities_value_objects/tests/test_basic.py b/modules/08_application_architecture/entities_value_objects/tests/test_basic.py similarity index 100% rename from 08_application_architecture/entities_value_objects/tests/test_basic.py rename to modules/08_application_architecture/entities_value_objects/tests/test_basic.py diff --git a/08_application_architecture/event_driven_arch/README.md b/modules/08_application_architecture/event_driven_arch/README.md similarity index 100% rename from 08_application_architecture/event_driven_arch/README.md rename to modules/08_application_architecture/event_driven_arch/README.md diff --git a/08_application_architecture/event_driven_arch/examples/example_basic.py b/modules/08_application_architecture/event_driven_arch/examples/example_basic.py similarity index 100% rename from 08_application_architecture/event_driven_arch/examples/example_basic.py rename to modules/08_application_architecture/event_driven_arch/examples/example_basic.py diff --git a/08_application_architecture/event_driven_arch/exercise/exercise_01.py b/modules/08_application_architecture/event_driven_arch/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/event_driven_arch/exercise/exercise_01.py rename to modules/08_application_architecture/event_driven_arch/exercise/exercise_01.py diff --git a/08_application_architecture/event_driven_arch/references/links.md b/modules/08_application_architecture/event_driven_arch/references/links.md similarity index 100% rename from 08_application_architecture/event_driven_arch/references/links.md rename to modules/08_application_architecture/event_driven_arch/references/links.md diff --git a/08_application_architecture/event_driven_arch/tests/test_basic.py b/modules/08_application_architecture/event_driven_arch/tests/test_basic.py similarity index 100% rename from 08_application_architecture/event_driven_arch/tests/test_basic.py rename to modules/08_application_architecture/event_driven_arch/tests/test_basic.py diff --git a/08_application_architecture/hexagonal_architecture/README.md b/modules/08_application_architecture/hexagonal_architecture/README.md similarity index 100% rename from 08_application_architecture/hexagonal_architecture/README.md rename to modules/08_application_architecture/hexagonal_architecture/README.md diff --git a/08_application_architecture/hexagonal_architecture/examples/example_basic.py b/modules/08_application_architecture/hexagonal_architecture/examples/example_basic.py similarity index 100% rename from 08_application_architecture/hexagonal_architecture/examples/example_basic.py rename to modules/08_application_architecture/hexagonal_architecture/examples/example_basic.py diff --git a/08_application_architecture/hexagonal_architecture/exercise/exercise_01.py b/modules/08_application_architecture/hexagonal_architecture/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/hexagonal_architecture/exercise/exercise_01.py rename to modules/08_application_architecture/hexagonal_architecture/exercise/exercise_01.py diff --git a/08_application_architecture/hexagonal_architecture/references/links.md b/modules/08_application_architecture/hexagonal_architecture/references/links.md similarity index 100% rename from 08_application_architecture/hexagonal_architecture/references/links.md rename to modules/08_application_architecture/hexagonal_architecture/references/links.md diff --git a/08_application_architecture/hexagonal_architecture/tests/test_basic.py b/modules/08_application_architecture/hexagonal_architecture/tests/test_basic.py similarity index 100% rename from 08_application_architecture/hexagonal_architecture/tests/test_basic.py rename to modules/08_application_architecture/hexagonal_architecture/tests/test_basic.py diff --git a/08_application_architecture/interface_segregation/README.md b/modules/08_application_architecture/interface_segregation/README.md similarity index 100% rename from 08_application_architecture/interface_segregation/README.md rename to modules/08_application_architecture/interface_segregation/README.md diff --git a/08_application_architecture/interface_segregation/examples/example_basic.py b/modules/08_application_architecture/interface_segregation/examples/example_basic.py similarity index 100% rename from 08_application_architecture/interface_segregation/examples/example_basic.py rename to modules/08_application_architecture/interface_segregation/examples/example_basic.py diff --git a/08_application_architecture/interface_segregation/exercise/exercise_01.py b/modules/08_application_architecture/interface_segregation/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/interface_segregation/exercise/exercise_01.py rename to modules/08_application_architecture/interface_segregation/exercise/exercise_01.py diff --git a/08_application_architecture/interface_segregation/references/links.md b/modules/08_application_architecture/interface_segregation/references/links.md similarity index 100% rename from 08_application_architecture/interface_segregation/references/links.md rename to modules/08_application_architecture/interface_segregation/references/links.md diff --git a/08_application_architecture/interface_segregation/tests/test_basic.py b/modules/08_application_architecture/interface_segregation/tests/test_basic.py similarity index 100% rename from 08_application_architecture/interface_segregation/tests/test_basic.py rename to modules/08_application_architecture/interface_segregation/tests/test_basic.py diff --git a/08_application_architecture/inversion_control/README.md b/modules/08_application_architecture/inversion_control/README.md similarity index 100% rename from 08_application_architecture/inversion_control/README.md rename to modules/08_application_architecture/inversion_control/README.md diff --git a/08_application_architecture/inversion_control/examples/example_basic.py b/modules/08_application_architecture/inversion_control/examples/example_basic.py similarity index 100% rename from 08_application_architecture/inversion_control/examples/example_basic.py rename to modules/08_application_architecture/inversion_control/examples/example_basic.py diff --git a/08_application_architecture/inversion_control/exercise/exercise_01.py b/modules/08_application_architecture/inversion_control/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/inversion_control/exercise/exercise_01.py rename to modules/08_application_architecture/inversion_control/exercise/exercise_01.py diff --git a/08_application_architecture/inversion_control/references/links.md b/modules/08_application_architecture/inversion_control/references/links.md similarity index 100% rename from 08_application_architecture/inversion_control/references/links.md rename to modules/08_application_architecture/inversion_control/references/links.md diff --git a/08_application_architecture/inversion_control/tests/test_basic.py b/modules/08_application_architecture/inversion_control/tests/test_basic.py similarity index 100% rename from 08_application_architecture/inversion_control/tests/test_basic.py rename to modules/08_application_architecture/inversion_control/tests/test_basic.py diff --git a/08_application_architecture/liskov_substitution/README.md b/modules/08_application_architecture/liskov_substitution/README.md similarity index 100% rename from 08_application_architecture/liskov_substitution/README.md rename to modules/08_application_architecture/liskov_substitution/README.md diff --git a/08_application_architecture/liskov_substitution/examples/example_basic.py b/modules/08_application_architecture/liskov_substitution/examples/example_basic.py similarity index 100% rename from 08_application_architecture/liskov_substitution/examples/example_basic.py rename to modules/08_application_architecture/liskov_substitution/examples/example_basic.py diff --git a/08_application_architecture/liskov_substitution/exercise/exercise_01.py b/modules/08_application_architecture/liskov_substitution/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/liskov_substitution/exercise/exercise_01.py rename to modules/08_application_architecture/liskov_substitution/exercise/exercise_01.py diff --git a/08_application_architecture/liskov_substitution/references/links.md b/modules/08_application_architecture/liskov_substitution/references/links.md similarity index 100% rename from 08_application_architecture/liskov_substitution/references/links.md rename to modules/08_application_architecture/liskov_substitution/references/links.md diff --git a/08_application_architecture/liskov_substitution/tests/test_basic.py b/modules/08_application_architecture/liskov_substitution/tests/test_basic.py similarity index 100% rename from 08_application_architecture/liskov_substitution/tests/test_basic.py rename to modules/08_application_architecture/liskov_substitution/tests/test_basic.py diff --git a/08_application_architecture/observability/README.md b/modules/08_application_architecture/observability/README.md similarity index 100% rename from 08_application_architecture/observability/README.md rename to modules/08_application_architecture/observability/README.md diff --git a/08_application_architecture/observability/examples/example_basic.py b/modules/08_application_architecture/observability/examples/example_basic.py similarity index 100% rename from 08_application_architecture/observability/examples/example_basic.py rename to modules/08_application_architecture/observability/examples/example_basic.py diff --git a/08_application_architecture/observability/exercise/exercise_01.py b/modules/08_application_architecture/observability/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/observability/exercise/exercise_01.py rename to modules/08_application_architecture/observability/exercise/exercise_01.py diff --git a/08_application_architecture/observability/references/links.md b/modules/08_application_architecture/observability/references/links.md similarity index 100% rename from 08_application_architecture/observability/references/links.md rename to modules/08_application_architecture/observability/references/links.md diff --git a/08_application_architecture/observability/tests/test_basic.py b/modules/08_application_architecture/observability/tests/test_basic.py similarity index 100% rename from 08_application_architecture/observability/tests/test_basic.py rename to modules/08_application_architecture/observability/tests/test_basic.py diff --git a/08_application_architecture/open_closed/README.md b/modules/08_application_architecture/open_closed/README.md similarity index 100% rename from 08_application_architecture/open_closed/README.md rename to modules/08_application_architecture/open_closed/README.md diff --git a/08_application_architecture/open_closed/examples/example_basic.py b/modules/08_application_architecture/open_closed/examples/example_basic.py similarity index 100% rename from 08_application_architecture/open_closed/examples/example_basic.py rename to modules/08_application_architecture/open_closed/examples/example_basic.py diff --git a/08_application_architecture/open_closed/exercise/exercise_01.py b/modules/08_application_architecture/open_closed/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/open_closed/exercise/exercise_01.py rename to modules/08_application_architecture/open_closed/exercise/exercise_01.py diff --git a/08_application_architecture/open_closed/references/links.md b/modules/08_application_architecture/open_closed/references/links.md similarity index 100% rename from 08_application_architecture/open_closed/references/links.md rename to modules/08_application_architecture/open_closed/references/links.md diff --git a/08_application_architecture/open_closed/tests/test_basic.py b/modules/08_application_architecture/open_closed/tests/test_basic.py similarity index 100% rename from 08_application_architecture/open_closed/tests/test_basic.py rename to modules/08_application_architecture/open_closed/tests/test_basic.py diff --git a/08_application_architecture/ports_adapters/README.md b/modules/08_application_architecture/ports_adapters/README.md similarity index 100% rename from 08_application_architecture/ports_adapters/README.md rename to modules/08_application_architecture/ports_adapters/README.md diff --git a/08_application_architecture/ports_adapters/examples/example_basic.py b/modules/08_application_architecture/ports_adapters/examples/example_basic.py similarity index 100% rename from 08_application_architecture/ports_adapters/examples/example_basic.py rename to modules/08_application_architecture/ports_adapters/examples/example_basic.py diff --git a/08_application_architecture/ports_adapters/exercise/exercise_01.py b/modules/08_application_architecture/ports_adapters/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/ports_adapters/exercise/exercise_01.py rename to modules/08_application_architecture/ports_adapters/exercise/exercise_01.py diff --git a/08_application_architecture/ports_adapters/references/links.md b/modules/08_application_architecture/ports_adapters/references/links.md similarity index 100% rename from 08_application_architecture/ports_adapters/references/links.md rename to modules/08_application_architecture/ports_adapters/references/links.md diff --git a/08_application_architecture/ports_adapters/tests/test_basic.py b/modules/08_application_architecture/ports_adapters/tests/test_basic.py similarity index 100% rename from 08_application_architecture/ports_adapters/tests/test_basic.py rename to modules/08_application_architecture/ports_adapters/tests/test_basic.py diff --git a/08_application_architecture/repositories/README.md b/modules/08_application_architecture/repositories/README.md similarity index 100% rename from 08_application_architecture/repositories/README.md rename to modules/08_application_architecture/repositories/README.md diff --git a/08_application_architecture/repositories/examples/example_basic.py b/modules/08_application_architecture/repositories/examples/example_basic.py similarity index 100% rename from 08_application_architecture/repositories/examples/example_basic.py rename to modules/08_application_architecture/repositories/examples/example_basic.py diff --git a/08_application_architecture/repositories/exercise/exercise_01.py b/modules/08_application_architecture/repositories/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/repositories/exercise/exercise_01.py rename to modules/08_application_architecture/repositories/exercise/exercise_01.py diff --git a/08_application_architecture/repositories/references/links.md b/modules/08_application_architecture/repositories/references/links.md similarity index 100% rename from 08_application_architecture/repositories/references/links.md rename to modules/08_application_architecture/repositories/references/links.md diff --git a/08_application_architecture/repositories/tests/test_basic.py b/modules/08_application_architecture/repositories/tests/test_basic.py similarity index 100% rename from 08_application_architecture/repositories/tests/test_basic.py rename to modules/08_application_architecture/repositories/tests/test_basic.py diff --git a/08_application_architecture/services_uow/README.md b/modules/08_application_architecture/services_uow/README.md similarity index 100% rename from 08_application_architecture/services_uow/README.md rename to modules/08_application_architecture/services_uow/README.md diff --git a/08_application_architecture/services_uow/examples/example_basic.py b/modules/08_application_architecture/services_uow/examples/example_basic.py similarity index 100% rename from 08_application_architecture/services_uow/examples/example_basic.py rename to modules/08_application_architecture/services_uow/examples/example_basic.py diff --git a/08_application_architecture/services_uow/exercise/exercise_01.py b/modules/08_application_architecture/services_uow/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/services_uow/exercise/exercise_01.py rename to modules/08_application_architecture/services_uow/exercise/exercise_01.py diff --git a/08_application_architecture/services_uow/references/links.md b/modules/08_application_architecture/services_uow/references/links.md similarity index 100% rename from 08_application_architecture/services_uow/references/links.md rename to modules/08_application_architecture/services_uow/references/links.md diff --git a/08_application_architecture/services_uow/tests/test_basic.py b/modules/08_application_architecture/services_uow/tests/test_basic.py similarity index 100% rename from 08_application_architecture/services_uow/tests/test_basic.py rename to modules/08_application_architecture/services_uow/tests/test_basic.py diff --git a/08_application_architecture/single_responsibility/README.md b/modules/08_application_architecture/single_responsibility/README.md similarity index 100% rename from 08_application_architecture/single_responsibility/README.md rename to modules/08_application_architecture/single_responsibility/README.md diff --git a/08_application_architecture/single_responsibility/examples/example_basic.py b/modules/08_application_architecture/single_responsibility/examples/example_basic.py similarity index 100% rename from 08_application_architecture/single_responsibility/examples/example_basic.py rename to modules/08_application_architecture/single_responsibility/examples/example_basic.py diff --git a/08_application_architecture/single_responsibility/exercise/exercise_01.py b/modules/08_application_architecture/single_responsibility/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/single_responsibility/exercise/exercise_01.py rename to modules/08_application_architecture/single_responsibility/exercise/exercise_01.py diff --git a/08_application_architecture/single_responsibility/references/links.md b/modules/08_application_architecture/single_responsibility/references/links.md similarity index 100% rename from 08_application_architecture/single_responsibility/references/links.md rename to modules/08_application_architecture/single_responsibility/references/links.md diff --git a/08_application_architecture/single_responsibility/tests/test_basic.py b/modules/08_application_architecture/single_responsibility/tests/test_basic.py similarity index 100% rename from 08_application_architecture/single_responsibility/tests/test_basic.py rename to modules/08_application_architecture/single_responsibility/tests/test_basic.py diff --git a/08_application_architecture/solid_principles/README.md b/modules/08_application_architecture/solid_principles/README.md similarity index 100% rename from 08_application_architecture/solid_principles/README.md rename to modules/08_application_architecture/solid_principles/README.md diff --git a/08_application_architecture/solid_principles/examples/example_basic.py b/modules/08_application_architecture/solid_principles/examples/example_basic.py similarity index 100% rename from 08_application_architecture/solid_principles/examples/example_basic.py rename to modules/08_application_architecture/solid_principles/examples/example_basic.py diff --git a/08_application_architecture/solid_principles/exercise/exercise_01.py b/modules/08_application_architecture/solid_principles/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/solid_principles/exercise/exercise_01.py rename to modules/08_application_architecture/solid_principles/exercise/exercise_01.py diff --git a/08_application_architecture/solid_principles/references/links.md b/modules/08_application_architecture/solid_principles/references/links.md similarity index 100% rename from 08_application_architecture/solid_principles/references/links.md rename to modules/08_application_architecture/solid_principles/references/links.md diff --git a/08_application_architecture/solid_principles/tests/test_basic.py b/modules/08_application_architecture/solid_principles/tests/test_basic.py similarity index 100% rename from 08_application_architecture/solid_principles/tests/test_basic.py rename to modules/08_application_architecture/solid_principles/tests/test_basic.py diff --git a/08_application_architecture/structured_logging/README.md b/modules/08_application_architecture/structured_logging/README.md similarity index 100% rename from 08_application_architecture/structured_logging/README.md rename to modules/08_application_architecture/structured_logging/README.md diff --git a/08_application_architecture/structured_logging/examples/example_basic.py b/modules/08_application_architecture/structured_logging/examples/example_basic.py similarity index 100% rename from 08_application_architecture/structured_logging/examples/example_basic.py rename to modules/08_application_architecture/structured_logging/examples/example_basic.py diff --git a/08_application_architecture/structured_logging/exercise/exercise_01.py b/modules/08_application_architecture/structured_logging/exercise/exercise_01.py similarity index 100% rename from 08_application_architecture/structured_logging/exercise/exercise_01.py rename to modules/08_application_architecture/structured_logging/exercise/exercise_01.py diff --git a/08_application_architecture/structured_logging/references/links.md b/modules/08_application_architecture/structured_logging/references/links.md similarity index 100% rename from 08_application_architecture/structured_logging/references/links.md rename to modules/08_application_architecture/structured_logging/references/links.md diff --git a/08_application_architecture/structured_logging/tests/test_basic.py b/modules/08_application_architecture/structured_logging/tests/test_basic.py similarity index 100% rename from 08_application_architecture/structured_logging/tests/test_basic.py rename to modules/08_application_architecture/structured_logging/tests/test_basic.py diff --git a/09_testing_qa/README.md b/modules/09_testing_qa/README.md similarity index 100% rename from 09_testing_qa/README.md rename to modules/09_testing_qa/README.md diff --git a/09_testing_qa/bdd_behave_optional/README.md b/modules/09_testing_qa/bdd_behave_optional/README.md similarity index 100% rename from 09_testing_qa/bdd_behave_optional/README.md rename to modules/09_testing_qa/bdd_behave_optional/README.md diff --git a/09_testing_qa/bdd_behave_optional/examples/example_basic.py b/modules/09_testing_qa/bdd_behave_optional/examples/example_basic.py similarity index 100% rename from 09_testing_qa/bdd_behave_optional/examples/example_basic.py rename to modules/09_testing_qa/bdd_behave_optional/examples/example_basic.py diff --git a/09_testing_qa/bdd_behave_optional/exercise/exercise_01.py b/modules/09_testing_qa/bdd_behave_optional/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/bdd_behave_optional/exercise/exercise_01.py rename to modules/09_testing_qa/bdd_behave_optional/exercise/exercise_01.py diff --git a/09_testing_qa/bdd_behave_optional/references/links.md b/modules/09_testing_qa/bdd_behave_optional/references/links.md similarity index 100% rename from 09_testing_qa/bdd_behave_optional/references/links.md rename to modules/09_testing_qa/bdd_behave_optional/references/links.md diff --git a/09_testing_qa/bdd_behave_optional/tests/test_basic.py b/modules/09_testing_qa/bdd_behave_optional/tests/test_basic.py similarity index 100% rename from 09_testing_qa/bdd_behave_optional/tests/test_basic.py rename to modules/09_testing_qa/bdd_behave_optional/tests/test_basic.py diff --git a/09_testing_qa/ci_testing/README.md b/modules/09_testing_qa/ci_testing/README.md similarity index 100% rename from 09_testing_qa/ci_testing/README.md rename to modules/09_testing_qa/ci_testing/README.md diff --git a/09_testing_qa/ci_testing/examples/example_basic.py b/modules/09_testing_qa/ci_testing/examples/example_basic.py similarity index 100% rename from 09_testing_qa/ci_testing/examples/example_basic.py rename to modules/09_testing_qa/ci_testing/examples/example_basic.py diff --git a/09_testing_qa/ci_testing/exercise/exercise_01.py b/modules/09_testing_qa/ci_testing/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/ci_testing/exercise/exercise_01.py rename to modules/09_testing_qa/ci_testing/exercise/exercise_01.py diff --git a/09_testing_qa/ci_testing/references/links.md b/modules/09_testing_qa/ci_testing/references/links.md similarity index 100% rename from 09_testing_qa/ci_testing/references/links.md rename to modules/09_testing_qa/ci_testing/references/links.md diff --git a/09_testing_qa/ci_testing/tests/test_basic.py b/modules/09_testing_qa/ci_testing/tests/test_basic.py similarity index 100% rename from 09_testing_qa/ci_testing/tests/test_basic.py rename to modules/09_testing_qa/ci_testing/tests/test_basic.py diff --git a/09_testing_qa/contract_testing/README.md b/modules/09_testing_qa/contract_testing/README.md similarity index 100% rename from 09_testing_qa/contract_testing/README.md rename to modules/09_testing_qa/contract_testing/README.md diff --git a/09_testing_qa/contract_testing/examples/example_basic.py b/modules/09_testing_qa/contract_testing/examples/example_basic.py similarity index 100% rename from 09_testing_qa/contract_testing/examples/example_basic.py rename to modules/09_testing_qa/contract_testing/examples/example_basic.py diff --git a/09_testing_qa/contract_testing/exercise/exercise_01.py b/modules/09_testing_qa/contract_testing/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/contract_testing/exercise/exercise_01.py rename to modules/09_testing_qa/contract_testing/exercise/exercise_01.py diff --git a/09_testing_qa/contract_testing/references/links.md b/modules/09_testing_qa/contract_testing/references/links.md similarity index 100% rename from 09_testing_qa/contract_testing/references/links.md rename to modules/09_testing_qa/contract_testing/references/links.md diff --git a/09_testing_qa/contract_testing/tests/test_basic.py b/modules/09_testing_qa/contract_testing/tests/test_basic.py similarity index 100% rename from 09_testing_qa/contract_testing/tests/test_basic.py rename to modules/09_testing_qa/contract_testing/tests/test_basic.py diff --git a/09_testing_qa/coverage_analysis/README.md b/modules/09_testing_qa/coverage_analysis/README.md similarity index 100% rename from 09_testing_qa/coverage_analysis/README.md rename to modules/09_testing_qa/coverage_analysis/README.md diff --git a/09_testing_qa/coverage_analysis/examples/example_basic.py b/modules/09_testing_qa/coverage_analysis/examples/example_basic.py similarity index 100% rename from 09_testing_qa/coverage_analysis/examples/example_basic.py rename to modules/09_testing_qa/coverage_analysis/examples/example_basic.py diff --git a/09_testing_qa/coverage_analysis/exercise/exercise_01.py b/modules/09_testing_qa/coverage_analysis/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/coverage_analysis/exercise/exercise_01.py rename to modules/09_testing_qa/coverage_analysis/exercise/exercise_01.py diff --git a/09_testing_qa/coverage_analysis/references/links.md b/modules/09_testing_qa/coverage_analysis/references/links.md similarity index 100% rename from 09_testing_qa/coverage_analysis/references/links.md rename to modules/09_testing_qa/coverage_analysis/references/links.md diff --git a/09_testing_qa/coverage_analysis/tests/test_basic.py b/modules/09_testing_qa/coverage_analysis/tests/test_basic.py similarity index 100% rename from 09_testing_qa/coverage_analysis/tests/test_basic.py rename to modules/09_testing_qa/coverage_analysis/tests/test_basic.py diff --git a/09_testing_qa/fixtures/README.md b/modules/09_testing_qa/fixtures/README.md similarity index 100% rename from 09_testing_qa/fixtures/README.md rename to modules/09_testing_qa/fixtures/README.md diff --git a/09_testing_qa/fixtures/examples/example_basic.py b/modules/09_testing_qa/fixtures/examples/example_basic.py similarity index 100% rename from 09_testing_qa/fixtures/examples/example_basic.py rename to modules/09_testing_qa/fixtures/examples/example_basic.py diff --git a/09_testing_qa/fixtures/exercise/exercise_01.py b/modules/09_testing_qa/fixtures/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/fixtures/exercise/exercise_01.py rename to modules/09_testing_qa/fixtures/exercise/exercise_01.py diff --git a/09_testing_qa/fixtures/references/links.md b/modules/09_testing_qa/fixtures/references/links.md similarity index 100% rename from 09_testing_qa/fixtures/references/links.md rename to modules/09_testing_qa/fixtures/references/links.md diff --git a/09_testing_qa/fixtures/tests/test_basic.py b/modules/09_testing_qa/fixtures/tests/test_basic.py similarity index 100% rename from 09_testing_qa/fixtures/tests/test_basic.py rename to modules/09_testing_qa/fixtures/tests/test_basic.py diff --git a/09_testing_qa/hypothesis_intro/README.md b/modules/09_testing_qa/hypothesis_intro/README.md similarity index 100% rename from 09_testing_qa/hypothesis_intro/README.md rename to modules/09_testing_qa/hypothesis_intro/README.md diff --git a/09_testing_qa/hypothesis_intro/examples/example_basic.py b/modules/09_testing_qa/hypothesis_intro/examples/example_basic.py similarity index 100% rename from 09_testing_qa/hypothesis_intro/examples/example_basic.py rename to modules/09_testing_qa/hypothesis_intro/examples/example_basic.py diff --git a/09_testing_qa/hypothesis_intro/exercise/exercise_01.py b/modules/09_testing_qa/hypothesis_intro/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/hypothesis_intro/exercise/exercise_01.py rename to modules/09_testing_qa/hypothesis_intro/exercise/exercise_01.py diff --git a/09_testing_qa/hypothesis_intro/references/links.md b/modules/09_testing_qa/hypothesis_intro/references/links.md similarity index 100% rename from 09_testing_qa/hypothesis_intro/references/links.md rename to modules/09_testing_qa/hypothesis_intro/references/links.md diff --git a/09_testing_qa/hypothesis_intro/tests/test_basic.py b/modules/09_testing_qa/hypothesis_intro/tests/test_basic.py similarity index 100% rename from 09_testing_qa/hypothesis_intro/tests/test_basic.py rename to modules/09_testing_qa/hypothesis_intro/tests/test_basic.py diff --git a/09_testing_qa/integration_testing/README.md b/modules/09_testing_qa/integration_testing/README.md similarity index 100% rename from 09_testing_qa/integration_testing/README.md rename to modules/09_testing_qa/integration_testing/README.md diff --git a/09_testing_qa/integration_testing/examples/example_basic.py b/modules/09_testing_qa/integration_testing/examples/example_basic.py similarity index 100% rename from 09_testing_qa/integration_testing/examples/example_basic.py rename to modules/09_testing_qa/integration_testing/examples/example_basic.py diff --git a/09_testing_qa/integration_testing/exercise/exercise_01.py b/modules/09_testing_qa/integration_testing/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/integration_testing/exercise/exercise_01.py rename to modules/09_testing_qa/integration_testing/exercise/exercise_01.py diff --git a/09_testing_qa/integration_testing/references/links.md b/modules/09_testing_qa/integration_testing/references/links.md similarity index 100% rename from 09_testing_qa/integration_testing/references/links.md rename to modules/09_testing_qa/integration_testing/references/links.md diff --git a/09_testing_qa/integration_testing/tests/test_basic.py b/modules/09_testing_qa/integration_testing/tests/test_basic.py similarity index 100% rename from 09_testing_qa/integration_testing/tests/test_basic.py rename to modules/09_testing_qa/integration_testing/tests/test_basic.py diff --git a/09_testing_qa/mocking_unittest/README.md b/modules/09_testing_qa/mocking_unittest/README.md similarity index 100% rename from 09_testing_qa/mocking_unittest/README.md rename to modules/09_testing_qa/mocking_unittest/README.md diff --git a/09_testing_qa/mocking_unittest/examples/example_basic.py b/modules/09_testing_qa/mocking_unittest/examples/example_basic.py similarity index 100% rename from 09_testing_qa/mocking_unittest/examples/example_basic.py rename to modules/09_testing_qa/mocking_unittest/examples/example_basic.py diff --git a/09_testing_qa/mocking_unittest/exercise/exercise_01.py b/modules/09_testing_qa/mocking_unittest/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/mocking_unittest/exercise/exercise_01.py rename to modules/09_testing_qa/mocking_unittest/exercise/exercise_01.py diff --git a/09_testing_qa/mocking_unittest/references/links.md b/modules/09_testing_qa/mocking_unittest/references/links.md similarity index 100% rename from 09_testing_qa/mocking_unittest/references/links.md rename to modules/09_testing_qa/mocking_unittest/references/links.md diff --git a/09_testing_qa/mocking_unittest/tests/test_basic.py b/modules/09_testing_qa/mocking_unittest/tests/test_basic.py similarity index 100% rename from 09_testing_qa/mocking_unittest/tests/test_basic.py rename to modules/09_testing_qa/mocking_unittest/tests/test_basic.py diff --git a/09_testing_qa/mutation_testing/README.md b/modules/09_testing_qa/mutation_testing/README.md similarity index 100% rename from 09_testing_qa/mutation_testing/README.md rename to modules/09_testing_qa/mutation_testing/README.md diff --git a/09_testing_qa/mutation_testing/examples/example_basic.py b/modules/09_testing_qa/mutation_testing/examples/example_basic.py similarity index 100% rename from 09_testing_qa/mutation_testing/examples/example_basic.py rename to modules/09_testing_qa/mutation_testing/examples/example_basic.py diff --git a/09_testing_qa/mutation_testing/exercise/exercise_01.py b/modules/09_testing_qa/mutation_testing/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/mutation_testing/exercise/exercise_01.py rename to modules/09_testing_qa/mutation_testing/exercise/exercise_01.py diff --git a/09_testing_qa/mutation_testing/references/links.md b/modules/09_testing_qa/mutation_testing/references/links.md similarity index 100% rename from 09_testing_qa/mutation_testing/references/links.md rename to modules/09_testing_qa/mutation_testing/references/links.md diff --git a/09_testing_qa/mutation_testing/tests/test_basic.py b/modules/09_testing_qa/mutation_testing/tests/test_basic.py similarity index 100% rename from 09_testing_qa/mutation_testing/tests/test_basic.py rename to modules/09_testing_qa/mutation_testing/tests/test_basic.py diff --git a/09_testing_qa/parametrize/README.md b/modules/09_testing_qa/parametrize/README.md similarity index 100% rename from 09_testing_qa/parametrize/README.md rename to modules/09_testing_qa/parametrize/README.md diff --git a/09_testing_qa/parametrize/examples/example_basic.py b/modules/09_testing_qa/parametrize/examples/example_basic.py similarity index 100% rename from 09_testing_qa/parametrize/examples/example_basic.py rename to modules/09_testing_qa/parametrize/examples/example_basic.py diff --git a/09_testing_qa/parametrize/exercise/exercise_01.py b/modules/09_testing_qa/parametrize/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/parametrize/exercise/exercise_01.py rename to modules/09_testing_qa/parametrize/exercise/exercise_01.py diff --git a/09_testing_qa/parametrize/references/links.md b/modules/09_testing_qa/parametrize/references/links.md similarity index 100% rename from 09_testing_qa/parametrize/references/links.md rename to modules/09_testing_qa/parametrize/references/links.md diff --git a/09_testing_qa/parametrize/tests/test_basic.py b/modules/09_testing_qa/parametrize/tests/test_basic.py similarity index 100% rename from 09_testing_qa/parametrize/tests/test_basic.py rename to modules/09_testing_qa/parametrize/tests/test_basic.py diff --git a/09_testing_qa/property_based_testing/README.md b/modules/09_testing_qa/property_based_testing/README.md similarity index 100% rename from 09_testing_qa/property_based_testing/README.md rename to modules/09_testing_qa/property_based_testing/README.md diff --git a/09_testing_qa/property_based_testing/examples/example_basic.py b/modules/09_testing_qa/property_based_testing/examples/example_basic.py similarity index 100% rename from 09_testing_qa/property_based_testing/examples/example_basic.py rename to modules/09_testing_qa/property_based_testing/examples/example_basic.py diff --git a/09_testing_qa/property_based_testing/exercise/exercise_01.py b/modules/09_testing_qa/property_based_testing/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/property_based_testing/exercise/exercise_01.py rename to modules/09_testing_qa/property_based_testing/exercise/exercise_01.py diff --git a/09_testing_qa/property_based_testing/references/links.md b/modules/09_testing_qa/property_based_testing/references/links.md similarity index 100% rename from 09_testing_qa/property_based_testing/references/links.md rename to modules/09_testing_qa/property_based_testing/references/links.md diff --git a/09_testing_qa/property_based_testing/tests/test_basic.py b/modules/09_testing_qa/property_based_testing/tests/test_basic.py similarity index 100% rename from 09_testing_qa/property_based_testing/tests/test_basic.py rename to modules/09_testing_qa/property_based_testing/tests/test_basic.py diff --git a/09_testing_qa/pytest_asyncio/README.md b/modules/09_testing_qa/pytest_asyncio/README.md similarity index 100% rename from 09_testing_qa/pytest_asyncio/README.md rename to modules/09_testing_qa/pytest_asyncio/README.md diff --git a/09_testing_qa/pytest_asyncio/examples/example_basic.py b/modules/09_testing_qa/pytest_asyncio/examples/example_basic.py similarity index 100% rename from 09_testing_qa/pytest_asyncio/examples/example_basic.py rename to modules/09_testing_qa/pytest_asyncio/examples/example_basic.py diff --git a/09_testing_qa/pytest_asyncio/exercise/exercise_01.py b/modules/09_testing_qa/pytest_asyncio/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/pytest_asyncio/exercise/exercise_01.py rename to modules/09_testing_qa/pytest_asyncio/exercise/exercise_01.py diff --git a/09_testing_qa/pytest_asyncio/references/links.md b/modules/09_testing_qa/pytest_asyncio/references/links.md similarity index 100% rename from 09_testing_qa/pytest_asyncio/references/links.md rename to modules/09_testing_qa/pytest_asyncio/references/links.md diff --git a/09_testing_qa/pytest_asyncio/tests/test_basic.py b/modules/09_testing_qa/pytest_asyncio/tests/test_basic.py similarity index 100% rename from 09_testing_qa/pytest_asyncio/tests/test_basic.py rename to modules/09_testing_qa/pytest_asyncio/tests/test_basic.py diff --git a/09_testing_qa/pytest_basics/README.md b/modules/09_testing_qa/pytest_basics/README.md similarity index 100% rename from 09_testing_qa/pytest_basics/README.md rename to modules/09_testing_qa/pytest_basics/README.md diff --git a/09_testing_qa/pytest_basics/examples/example_basic.py b/modules/09_testing_qa/pytest_basics/examples/example_basic.py similarity index 100% rename from 09_testing_qa/pytest_basics/examples/example_basic.py rename to modules/09_testing_qa/pytest_basics/examples/example_basic.py diff --git a/09_testing_qa/pytest_basics/exercise/exercise_01.py b/modules/09_testing_qa/pytest_basics/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/pytest_basics/exercise/exercise_01.py rename to modules/09_testing_qa/pytest_basics/exercise/exercise_01.py diff --git a/09_testing_qa/pytest_basics/references/links.md b/modules/09_testing_qa/pytest_basics/references/links.md similarity index 100% rename from 09_testing_qa/pytest_basics/references/links.md rename to modules/09_testing_qa/pytest_basics/references/links.md diff --git a/09_testing_qa/pytest_basics/tests/test_basic.py b/modules/09_testing_qa/pytest_basics/tests/test_basic.py similarity index 100% rename from 09_testing_qa/pytest_basics/tests/test_basic.py rename to modules/09_testing_qa/pytest_basics/tests/test_basic.py diff --git a/09_testing_qa/pytest_mock/README.md b/modules/09_testing_qa/pytest_mock/README.md similarity index 100% rename from 09_testing_qa/pytest_mock/README.md rename to modules/09_testing_qa/pytest_mock/README.md diff --git a/09_testing_qa/pytest_mock/examples/example_basic.py b/modules/09_testing_qa/pytest_mock/examples/example_basic.py similarity index 100% rename from 09_testing_qa/pytest_mock/examples/example_basic.py rename to modules/09_testing_qa/pytest_mock/examples/example_basic.py diff --git a/09_testing_qa/pytest_mock/exercise/exercise_01.py b/modules/09_testing_qa/pytest_mock/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/pytest_mock/exercise/exercise_01.py rename to modules/09_testing_qa/pytest_mock/exercise/exercise_01.py diff --git a/09_testing_qa/pytest_mock/references/links.md b/modules/09_testing_qa/pytest_mock/references/links.md similarity index 100% rename from 09_testing_qa/pytest_mock/references/links.md rename to modules/09_testing_qa/pytest_mock/references/links.md diff --git a/09_testing_qa/pytest_mock/tests/test_basic.py b/modules/09_testing_qa/pytest_mock/tests/test_basic.py similarity index 100% rename from 09_testing_qa/pytest_mock/tests/test_basic.py rename to modules/09_testing_qa/pytest_mock/tests/test_basic.py diff --git a/09_testing_qa/tdd_basics/README.md b/modules/09_testing_qa/tdd_basics/README.md similarity index 100% rename from 09_testing_qa/tdd_basics/README.md rename to modules/09_testing_qa/tdd_basics/README.md diff --git a/09_testing_qa/tdd_basics/examples/example_basic.py b/modules/09_testing_qa/tdd_basics/examples/example_basic.py similarity index 100% rename from 09_testing_qa/tdd_basics/examples/example_basic.py rename to modules/09_testing_qa/tdd_basics/examples/example_basic.py diff --git a/09_testing_qa/tdd_basics/exercise/exercise_01.py b/modules/09_testing_qa/tdd_basics/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/tdd_basics/exercise/exercise_01.py rename to modules/09_testing_qa/tdd_basics/exercise/exercise_01.py diff --git a/09_testing_qa/tdd_basics/references/links.md b/modules/09_testing_qa/tdd_basics/references/links.md similarity index 100% rename from 09_testing_qa/tdd_basics/references/links.md rename to modules/09_testing_qa/tdd_basics/references/links.md diff --git a/09_testing_qa/tdd_basics/tests/test_basic.py b/modules/09_testing_qa/tdd_basics/tests/test_basic.py similarity index 100% rename from 09_testing_qa/tdd_basics/tests/test_basic.py rename to modules/09_testing_qa/tdd_basics/tests/test_basic.py diff --git a/09_testing_qa/test_organization/README.md b/modules/09_testing_qa/test_organization/README.md similarity index 100% rename from 09_testing_qa/test_organization/README.md rename to modules/09_testing_qa/test_organization/README.md diff --git a/09_testing_qa/test_organization/examples/example_basic.py b/modules/09_testing_qa/test_organization/examples/example_basic.py similarity index 100% rename from 09_testing_qa/test_organization/examples/example_basic.py rename to modules/09_testing_qa/test_organization/examples/example_basic.py diff --git a/09_testing_qa/test_organization/exercise/exercise_01.py b/modules/09_testing_qa/test_organization/exercise/exercise_01.py similarity index 100% rename from 09_testing_qa/test_organization/exercise/exercise_01.py rename to modules/09_testing_qa/test_organization/exercise/exercise_01.py diff --git a/09_testing_qa/test_organization/references/links.md b/modules/09_testing_qa/test_organization/references/links.md similarity index 100% rename from 09_testing_qa/test_organization/references/links.md rename to modules/09_testing_qa/test_organization/references/links.md diff --git a/09_testing_qa/test_organization/tests/test_basic.py b/modules/09_testing_qa/test_organization/tests/test_basic.py similarity index 100% rename from 09_testing_qa/test_organization/tests/test_basic.py rename to modules/09_testing_qa/test_organization/tests/test_basic.py diff --git a/10_performance_optimization/README.md b/modules/10_performance_optimization/README.md similarity index 100% rename from 10_performance_optimization/README.md rename to modules/10_performance_optimization/README.md diff --git a/10_performance_optimization/algorithmic_complexity/README.md b/modules/10_performance_optimization/algorithmic_complexity/README.md similarity index 100% rename from 10_performance_optimization/algorithmic_complexity/README.md rename to modules/10_performance_optimization/algorithmic_complexity/README.md diff --git a/10_performance_optimization/algorithmic_complexity/examples/example_basic.py b/modules/10_performance_optimization/algorithmic_complexity/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/algorithmic_complexity/examples/example_basic.py rename to modules/10_performance_optimization/algorithmic_complexity/examples/example_basic.py diff --git a/10_performance_optimization/algorithmic_complexity/exercise/exercise_01.py b/modules/10_performance_optimization/algorithmic_complexity/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/algorithmic_complexity/exercise/exercise_01.py rename to modules/10_performance_optimization/algorithmic_complexity/exercise/exercise_01.py diff --git a/10_performance_optimization/algorithmic_complexity/references/links.md b/modules/10_performance_optimization/algorithmic_complexity/references/links.md similarity index 100% rename from 10_performance_optimization/algorithmic_complexity/references/links.md rename to modules/10_performance_optimization/algorithmic_complexity/references/links.md diff --git a/10_performance_optimization/algorithmic_complexity/tests/test_basic.py b/modules/10_performance_optimization/algorithmic_complexity/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/algorithmic_complexity/tests/test_basic.py rename to modules/10_performance_optimization/algorithmic_complexity/tests/test_basic.py diff --git a/10_performance_optimization/benchmarking_timeit/README.md b/modules/10_performance_optimization/benchmarking_timeit/README.md similarity index 100% rename from 10_performance_optimization/benchmarking_timeit/README.md rename to modules/10_performance_optimization/benchmarking_timeit/README.md diff --git a/10_performance_optimization/benchmarking_timeit/examples/example_basic.py b/modules/10_performance_optimization/benchmarking_timeit/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/benchmarking_timeit/examples/example_basic.py rename to modules/10_performance_optimization/benchmarking_timeit/examples/example_basic.py diff --git a/10_performance_optimization/benchmarking_timeit/exercise/exercise_01.py b/modules/10_performance_optimization/benchmarking_timeit/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/benchmarking_timeit/exercise/exercise_01.py rename to modules/10_performance_optimization/benchmarking_timeit/exercise/exercise_01.py diff --git a/10_performance_optimization/benchmarking_timeit/references/links.md b/modules/10_performance_optimization/benchmarking_timeit/references/links.md similarity index 100% rename from 10_performance_optimization/benchmarking_timeit/references/links.md rename to modules/10_performance_optimization/benchmarking_timeit/references/links.md diff --git a/10_performance_optimization/benchmarking_timeit/tests/test_basic.py b/modules/10_performance_optimization/benchmarking_timeit/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/benchmarking_timeit/tests/test_basic.py rename to modules/10_performance_optimization/benchmarking_timeit/tests/test_basic.py diff --git a/10_performance_optimization/caching_lru/README.md b/modules/10_performance_optimization/caching_lru/README.md similarity index 100% rename from 10_performance_optimization/caching_lru/README.md rename to modules/10_performance_optimization/caching_lru/README.md diff --git a/10_performance_optimization/caching_lru/examples/example_basic.py b/modules/10_performance_optimization/caching_lru/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/caching_lru/examples/example_basic.py rename to modules/10_performance_optimization/caching_lru/examples/example_basic.py diff --git a/10_performance_optimization/caching_lru/exercise/exercise_01.py b/modules/10_performance_optimization/caching_lru/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/caching_lru/exercise/exercise_01.py rename to modules/10_performance_optimization/caching_lru/exercise/exercise_01.py diff --git a/10_performance_optimization/caching_lru/references/links.md b/modules/10_performance_optimization/caching_lru/references/links.md similarity index 100% rename from 10_performance_optimization/caching_lru/references/links.md rename to modules/10_performance_optimization/caching_lru/references/links.md diff --git a/10_performance_optimization/caching_lru/tests/test_basic.py b/modules/10_performance_optimization/caching_lru/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/caching_lru/tests/test_basic.py rename to modules/10_performance_optimization/caching_lru/tests/test_basic.py diff --git a/10_performance_optimization/cython_basics/README.md b/modules/10_performance_optimization/cython_basics/README.md similarity index 100% rename from 10_performance_optimization/cython_basics/README.md rename to modules/10_performance_optimization/cython_basics/README.md diff --git a/10_performance_optimization/cython_basics/examples/example_basic.py b/modules/10_performance_optimization/cython_basics/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/cython_basics/examples/example_basic.py rename to modules/10_performance_optimization/cython_basics/examples/example_basic.py diff --git a/10_performance_optimization/cython_basics/exercise/exercise_01.py b/modules/10_performance_optimization/cython_basics/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/cython_basics/exercise/exercise_01.py rename to modules/10_performance_optimization/cython_basics/exercise/exercise_01.py diff --git a/10_performance_optimization/cython_basics/references/links.md b/modules/10_performance_optimization/cython_basics/references/links.md similarity index 100% rename from 10_performance_optimization/cython_basics/references/links.md rename to modules/10_performance_optimization/cython_basics/references/links.md diff --git a/10_performance_optimization/cython_basics/tests/test_basic.py b/modules/10_performance_optimization/cython_basics/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/cython_basics/tests/test_basic.py rename to modules/10_performance_optimization/cython_basics/tests/test_basic.py diff --git a/10_performance_optimization/lazy_evaluation/README.md b/modules/10_performance_optimization/lazy_evaluation/README.md similarity index 100% rename from 10_performance_optimization/lazy_evaluation/README.md rename to modules/10_performance_optimization/lazy_evaluation/README.md diff --git a/10_performance_optimization/lazy_evaluation/examples/example_basic.py b/modules/10_performance_optimization/lazy_evaluation/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/lazy_evaluation/examples/example_basic.py rename to modules/10_performance_optimization/lazy_evaluation/examples/example_basic.py diff --git a/10_performance_optimization/lazy_evaluation/exercise/exercise_01.py b/modules/10_performance_optimization/lazy_evaluation/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/lazy_evaluation/exercise/exercise_01.py rename to modules/10_performance_optimization/lazy_evaluation/exercise/exercise_01.py diff --git a/10_performance_optimization/lazy_evaluation/references/links.md b/modules/10_performance_optimization/lazy_evaluation/references/links.md similarity index 100% rename from 10_performance_optimization/lazy_evaluation/references/links.md rename to modules/10_performance_optimization/lazy_evaluation/references/links.md diff --git a/10_performance_optimization/lazy_evaluation/tests/test_basic.py b/modules/10_performance_optimization/lazy_evaluation/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/lazy_evaluation/tests/test_basic.py rename to modules/10_performance_optimization/lazy_evaluation/tests/test_basic.py diff --git a/10_performance_optimization/line_profiler/README.md b/modules/10_performance_optimization/line_profiler/README.md similarity index 100% rename from 10_performance_optimization/line_profiler/README.md rename to modules/10_performance_optimization/line_profiler/README.md diff --git a/10_performance_optimization/line_profiler/examples/example_basic.py b/modules/10_performance_optimization/line_profiler/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/line_profiler/examples/example_basic.py rename to modules/10_performance_optimization/line_profiler/examples/example_basic.py diff --git a/10_performance_optimization/line_profiler/exercise/exercise_01.py b/modules/10_performance_optimization/line_profiler/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/line_profiler/exercise/exercise_01.py rename to modules/10_performance_optimization/line_profiler/exercise/exercise_01.py diff --git a/10_performance_optimization/line_profiler/references/links.md b/modules/10_performance_optimization/line_profiler/references/links.md similarity index 100% rename from 10_performance_optimization/line_profiler/references/links.md rename to modules/10_performance_optimization/line_profiler/references/links.md diff --git a/10_performance_optimization/line_profiler/tests/test_basic.py b/modules/10_performance_optimization/line_profiler/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/line_profiler/tests/test_basic.py rename to modules/10_performance_optimization/line_profiler/tests/test_basic.py diff --git a/10_performance_optimization/memory_optimization/README.md b/modules/10_performance_optimization/memory_optimization/README.md similarity index 100% rename from 10_performance_optimization/memory_optimization/README.md rename to modules/10_performance_optimization/memory_optimization/README.md diff --git a/10_performance_optimization/memory_optimization/examples/example_basic.py b/modules/10_performance_optimization/memory_optimization/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/memory_optimization/examples/example_basic.py rename to modules/10_performance_optimization/memory_optimization/examples/example_basic.py diff --git a/10_performance_optimization/memory_optimization/exercise/exercise_01.py b/modules/10_performance_optimization/memory_optimization/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/memory_optimization/exercise/exercise_01.py rename to modules/10_performance_optimization/memory_optimization/exercise/exercise_01.py diff --git a/10_performance_optimization/memory_optimization/references/links.md b/modules/10_performance_optimization/memory_optimization/references/links.md similarity index 100% rename from 10_performance_optimization/memory_optimization/references/links.md rename to modules/10_performance_optimization/memory_optimization/references/links.md diff --git a/10_performance_optimization/memory_optimization/tests/test_basic.py b/modules/10_performance_optimization/memory_optimization/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/memory_optimization/tests/test_basic.py rename to modules/10_performance_optimization/memory_optimization/tests/test_basic.py diff --git a/10_performance_optimization/numba_jit/README.md b/modules/10_performance_optimization/numba_jit/README.md similarity index 100% rename from 10_performance_optimization/numba_jit/README.md rename to modules/10_performance_optimization/numba_jit/README.md diff --git a/10_performance_optimization/numba_jit/examples/example_basic.py b/modules/10_performance_optimization/numba_jit/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/numba_jit/examples/example_basic.py rename to modules/10_performance_optimization/numba_jit/examples/example_basic.py diff --git a/10_performance_optimization/numba_jit/exercise/exercise_01.py b/modules/10_performance_optimization/numba_jit/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/numba_jit/exercise/exercise_01.py rename to modules/10_performance_optimization/numba_jit/exercise/exercise_01.py diff --git a/10_performance_optimization/numba_jit/references/links.md b/modules/10_performance_optimization/numba_jit/references/links.md similarity index 100% rename from 10_performance_optimization/numba_jit/references/links.md rename to modules/10_performance_optimization/numba_jit/references/links.md diff --git a/10_performance_optimization/numba_jit/tests/test_basic.py b/modules/10_performance_optimization/numba_jit/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/numba_jit/tests/test_basic.py rename to modules/10_performance_optimization/numba_jit/tests/test_basic.py diff --git a/10_performance_optimization/numpy_vectorization/README.md b/modules/10_performance_optimization/numpy_vectorization/README.md similarity index 100% rename from 10_performance_optimization/numpy_vectorization/README.md rename to modules/10_performance_optimization/numpy_vectorization/README.md diff --git a/10_performance_optimization/numpy_vectorization/examples/example_basic.py b/modules/10_performance_optimization/numpy_vectorization/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/numpy_vectorization/examples/example_basic.py rename to modules/10_performance_optimization/numpy_vectorization/examples/example_basic.py diff --git a/10_performance_optimization/numpy_vectorization/exercise/exercise_01.py b/modules/10_performance_optimization/numpy_vectorization/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/numpy_vectorization/exercise/exercise_01.py rename to modules/10_performance_optimization/numpy_vectorization/exercise/exercise_01.py diff --git a/10_performance_optimization/numpy_vectorization/references/links.md b/modules/10_performance_optimization/numpy_vectorization/references/links.md similarity index 100% rename from 10_performance_optimization/numpy_vectorization/references/links.md rename to modules/10_performance_optimization/numpy_vectorization/references/links.md diff --git a/10_performance_optimization/numpy_vectorization/tests/test_basic.py b/modules/10_performance_optimization/numpy_vectorization/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/numpy_vectorization/tests/test_basic.py rename to modules/10_performance_optimization/numpy_vectorization/tests/test_basic.py diff --git a/10_performance_optimization/optimization_techniques/README.md b/modules/10_performance_optimization/optimization_techniques/README.md similarity index 100% rename from 10_performance_optimization/optimization_techniques/README.md rename to modules/10_performance_optimization/optimization_techniques/README.md diff --git a/10_performance_optimization/optimization_techniques/examples/example_basic.py b/modules/10_performance_optimization/optimization_techniques/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/optimization_techniques/examples/example_basic.py rename to modules/10_performance_optimization/optimization_techniques/examples/example_basic.py diff --git a/10_performance_optimization/optimization_techniques/exercise/exercise_01.py b/modules/10_performance_optimization/optimization_techniques/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/optimization_techniques/exercise/exercise_01.py rename to modules/10_performance_optimization/optimization_techniques/exercise/exercise_01.py diff --git a/10_performance_optimization/optimization_techniques/references/links.md b/modules/10_performance_optimization/optimization_techniques/references/links.md similarity index 100% rename from 10_performance_optimization/optimization_techniques/references/links.md rename to modules/10_performance_optimization/optimization_techniques/references/links.md diff --git a/10_performance_optimization/optimization_techniques/tests/test_basic.py b/modules/10_performance_optimization/optimization_techniques/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/optimization_techniques/tests/test_basic.py rename to modules/10_performance_optimization/optimization_techniques/tests/test_basic.py diff --git a/10_performance_optimization/profiling_cprofile/README.md b/modules/10_performance_optimization/profiling_cprofile/README.md similarity index 100% rename from 10_performance_optimization/profiling_cprofile/README.md rename to modules/10_performance_optimization/profiling_cprofile/README.md diff --git a/10_performance_optimization/profiling_cprofile/examples/example_basic.py b/modules/10_performance_optimization/profiling_cprofile/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/profiling_cprofile/examples/example_basic.py rename to modules/10_performance_optimization/profiling_cprofile/examples/example_basic.py diff --git a/10_performance_optimization/profiling_cprofile/exercise/exercise_01.py b/modules/10_performance_optimization/profiling_cprofile/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/profiling_cprofile/exercise/exercise_01.py rename to modules/10_performance_optimization/profiling_cprofile/exercise/exercise_01.py diff --git a/10_performance_optimization/profiling_cprofile/references/links.md b/modules/10_performance_optimization/profiling_cprofile/references/links.md similarity index 100% rename from 10_performance_optimization/profiling_cprofile/references/links.md rename to modules/10_performance_optimization/profiling_cprofile/references/links.md diff --git a/10_performance_optimization/profiling_cprofile/tests/test_basic.py b/modules/10_performance_optimization/profiling_cprofile/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/profiling_cprofile/tests/test_basic.py rename to modules/10_performance_optimization/profiling_cprofile/tests/test_basic.py diff --git a/10_performance_optimization/pypy_intro/README.md b/modules/10_performance_optimization/pypy_intro/README.md similarity index 100% rename from 10_performance_optimization/pypy_intro/README.md rename to modules/10_performance_optimization/pypy_intro/README.md diff --git a/10_performance_optimization/pypy_intro/examples/example_basic.py b/modules/10_performance_optimization/pypy_intro/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/pypy_intro/examples/example_basic.py rename to modules/10_performance_optimization/pypy_intro/examples/example_basic.py diff --git a/10_performance_optimization/pypy_intro/exercise/exercise_01.py b/modules/10_performance_optimization/pypy_intro/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/pypy_intro/exercise/exercise_01.py rename to modules/10_performance_optimization/pypy_intro/exercise/exercise_01.py diff --git a/10_performance_optimization/pypy_intro/references/links.md b/modules/10_performance_optimization/pypy_intro/references/links.md similarity index 100% rename from 10_performance_optimization/pypy_intro/references/links.md rename to modules/10_performance_optimization/pypy_intro/references/links.md diff --git a/10_performance_optimization/pypy_intro/tests/test_basic.py b/modules/10_performance_optimization/pypy_intro/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/pypy_intro/tests/test_basic.py rename to modules/10_performance_optimization/pypy_intro/tests/test_basic.py diff --git a/10_performance_optimization/pyspy_profiling/README.md b/modules/10_performance_optimization/pyspy_profiling/README.md similarity index 100% rename from 10_performance_optimization/pyspy_profiling/README.md rename to modules/10_performance_optimization/pyspy_profiling/README.md diff --git a/10_performance_optimization/pyspy_profiling/examples/example_basic.py b/modules/10_performance_optimization/pyspy_profiling/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/pyspy_profiling/examples/example_basic.py rename to modules/10_performance_optimization/pyspy_profiling/examples/example_basic.py diff --git a/10_performance_optimization/pyspy_profiling/exercise/exercise_01.py b/modules/10_performance_optimization/pyspy_profiling/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/pyspy_profiling/exercise/exercise_01.py rename to modules/10_performance_optimization/pyspy_profiling/exercise/exercise_01.py diff --git a/10_performance_optimization/pyspy_profiling/references/links.md b/modules/10_performance_optimization/pyspy_profiling/references/links.md similarity index 100% rename from 10_performance_optimization/pyspy_profiling/references/links.md rename to modules/10_performance_optimization/pyspy_profiling/references/links.md diff --git a/10_performance_optimization/pyspy_profiling/tests/test_basic.py b/modules/10_performance_optimization/pyspy_profiling/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/pyspy_profiling/tests/test_basic.py rename to modules/10_performance_optimization/pyspy_profiling/tests/test_basic.py diff --git a/10_performance_optimization/pytest_benchmark/README.md b/modules/10_performance_optimization/pytest_benchmark/README.md similarity index 100% rename from 10_performance_optimization/pytest_benchmark/README.md rename to modules/10_performance_optimization/pytest_benchmark/README.md diff --git a/10_performance_optimization/pytest_benchmark/examples/example_basic.py b/modules/10_performance_optimization/pytest_benchmark/examples/example_basic.py similarity index 100% rename from 10_performance_optimization/pytest_benchmark/examples/example_basic.py rename to modules/10_performance_optimization/pytest_benchmark/examples/example_basic.py diff --git a/10_performance_optimization/pytest_benchmark/exercise/exercise_01.py b/modules/10_performance_optimization/pytest_benchmark/exercise/exercise_01.py similarity index 100% rename from 10_performance_optimization/pytest_benchmark/exercise/exercise_01.py rename to modules/10_performance_optimization/pytest_benchmark/exercise/exercise_01.py diff --git a/10_performance_optimization/pytest_benchmark/references/links.md b/modules/10_performance_optimization/pytest_benchmark/references/links.md similarity index 100% rename from 10_performance_optimization/pytest_benchmark/references/links.md rename to modules/10_performance_optimization/pytest_benchmark/references/links.md diff --git a/10_performance_optimization/pytest_benchmark/tests/test_basic.py b/modules/10_performance_optimization/pytest_benchmark/tests/test_basic.py similarity index 100% rename from 10_performance_optimization/pytest_benchmark/tests/test_basic.py rename to modules/10_performance_optimization/pytest_benchmark/tests/test_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction/README.md b/modules/11_modern_tooling_2026/01_uv_introduction/README.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/README.md rename to modules/11_modern_tooling_2026/01_uv_introduction/README.md diff --git a/11_modern_tooling_2026/01_uv_introduction/examples/benchmark_basic.py b/modules/11_modern_tooling_2026/01_uv_introduction/examples/benchmark_basic.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/examples/benchmark_basic.py rename to modules/11_modern_tooling_2026/01_uv_introduction/examples/benchmark_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction/examples/example_basic.py b/modules/11_modern_tooling_2026/01_uv_introduction/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/examples/example_basic.py rename to modules/11_modern_tooling_2026/01_uv_introduction/examples/example_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction/exercise/basic_exercise.py b/modules/11_modern_tooling_2026/01_uv_introduction/exercise/basic_exercise.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/exercise/basic_exercise.py rename to modules/11_modern_tooling_2026/01_uv_introduction/exercise/basic_exercise.py diff --git a/11_modern_tooling_2026/01_uv_introduction/exercise/exercise_01.py b/modules/11_modern_tooling_2026/01_uv_introduction/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/01_uv_introduction/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/01_uv_introduction/references/links.md b/modules/11_modern_tooling_2026/01_uv_introduction/references/links.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/references/links.md rename to modules/11_modern_tooling_2026/01_uv_introduction/references/links.md diff --git a/11_modern_tooling_2026/01_uv_introduction/tests/test_basic.py b/modules/11_modern_tooling_2026/01_uv_introduction/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction/tests/test_basic.py rename to modules/11_modern_tooling_2026/01_uv_introduction/tests/test_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/README.md b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/README.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/README.md rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/README.md diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/examples/01_speed_comparison.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/01_speed_comparison.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/examples/01_speed_comparison.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/01_speed_comparison.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/examples/02_cache_architecture.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/02_cache_architecture.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/examples/02_cache_architecture.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/02_cache_architecture.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/examples/example_basic.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/examples/example_basic.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/examples/example_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.md b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.md rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.md diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_02.md b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_02.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_02.md rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/exercise/exercise_02.md diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/references/links.md b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/references/links.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/references/links.md rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/references/links.md diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/references/references.md b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/references/references.md similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/references/references.md rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/references/references.md diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_basic.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_basic.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_basic.py diff --git a/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_uv_basics.py b/modules/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_uv_basics.py similarity index 100% rename from 11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_uv_basics.py rename to modules/11_modern_tooling_2026/01_uv_introduction_architecture/tests/test_uv_basics.py diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/README.md b/modules/11_modern_tooling_2026/02_uv_installation_configuration/README.md similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/README.md rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/README.md diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/examples/01_installation_verification.py b/modules/11_modern_tooling_2026/02_uv_installation_configuration/examples/01_installation_verification.py similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/examples/01_installation_verification.py rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/examples/01_installation_verification.py diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/examples/example_basic.py b/modules/11_modern_tooling_2026/02_uv_installation_configuration/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/examples/example_basic.py rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/examples/example_basic.py diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/exercise/exercise_01.py b/modules/11_modern_tooling_2026/02_uv_installation_configuration/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/references/links.md b/modules/11_modern_tooling_2026/02_uv_installation_configuration/references/links.md similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/references/links.md rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/references/links.md diff --git a/11_modern_tooling_2026/02_uv_installation_configuration/tests/test_basic.py b/modules/11_modern_tooling_2026/02_uv_installation_configuration/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/02_uv_installation_configuration/tests/test_basic.py rename to modules/11_modern_tooling_2026/02_uv_installation_configuration/tests/test_basic.py diff --git a/11_modern_tooling_2026/03_uv_pip_package_installation/README.md b/modules/11_modern_tooling_2026/03_uv_pip_package_installation/README.md similarity index 100% rename from 11_modern_tooling_2026/03_uv_pip_package_installation/README.md rename to modules/11_modern_tooling_2026/03_uv_pip_package_installation/README.md diff --git a/11_modern_tooling_2026/03_uv_pip_package_installation/examples/example_basic.py b/modules/11_modern_tooling_2026/03_uv_pip_package_installation/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/03_uv_pip_package_installation/examples/example_basic.py rename to modules/11_modern_tooling_2026/03_uv_pip_package_installation/examples/example_basic.py diff --git a/11_modern_tooling_2026/03_uv_pip_package_installation/exercise/exercise_01.py b/modules/11_modern_tooling_2026/03_uv_pip_package_installation/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/03_uv_pip_package_installation/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/03_uv_pip_package_installation/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/03_uv_pip_package_installation/references/links.md b/modules/11_modern_tooling_2026/03_uv_pip_package_installation/references/links.md similarity index 100% rename from 11_modern_tooling_2026/03_uv_pip_package_installation/references/links.md rename to modules/11_modern_tooling_2026/03_uv_pip_package_installation/references/links.md diff --git a/11_modern_tooling_2026/03_uv_pip_package_installation/tests/test_basic.py b/modules/11_modern_tooling_2026/03_uv_pip_package_installation/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/03_uv_pip_package_installation/tests/test_basic.py rename to modules/11_modern_tooling_2026/03_uv_pip_package_installation/tests/test_basic.py diff --git a/11_modern_tooling_2026/04_uv_venv_virtual_environments/README.md b/modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/README.md similarity index 100% rename from 11_modern_tooling_2026/04_uv_venv_virtual_environments/README.md rename to modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/README.md diff --git a/11_modern_tooling_2026/04_uv_venv_virtual_environments/examples/example_basic.py b/modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/04_uv_venv_virtual_environments/examples/example_basic.py rename to modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/examples/example_basic.py diff --git a/11_modern_tooling_2026/04_uv_venv_virtual_environments/exercise/exercise_01.py b/modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/04_uv_venv_virtual_environments/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/04_uv_venv_virtual_environments/references/links.md b/modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/references/links.md similarity index 100% rename from 11_modern_tooling_2026/04_uv_venv_virtual_environments/references/links.md rename to modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/references/links.md diff --git a/11_modern_tooling_2026/04_uv_venv_virtual_environments/tests/test_basic.py b/modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/04_uv_venv_virtual_environments/tests/test_basic.py rename to modules/11_modern_tooling_2026/04_uv_venv_virtual_environments/tests/test_basic.py diff --git a/11_modern_tooling_2026/05_uv_tool_global_tools/README.md b/modules/11_modern_tooling_2026/05_uv_tool_global_tools/README.md similarity index 100% rename from 11_modern_tooling_2026/05_uv_tool_global_tools/README.md rename to modules/11_modern_tooling_2026/05_uv_tool_global_tools/README.md diff --git a/11_modern_tooling_2026/05_uv_tool_global_tools/examples/example_basic.py b/modules/11_modern_tooling_2026/05_uv_tool_global_tools/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/05_uv_tool_global_tools/examples/example_basic.py rename to modules/11_modern_tooling_2026/05_uv_tool_global_tools/examples/example_basic.py diff --git a/11_modern_tooling_2026/05_uv_tool_global_tools/exercise/exercise_01.py b/modules/11_modern_tooling_2026/05_uv_tool_global_tools/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/05_uv_tool_global_tools/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/05_uv_tool_global_tools/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/05_uv_tool_global_tools/references/links.md b/modules/11_modern_tooling_2026/05_uv_tool_global_tools/references/links.md similarity index 100% rename from 11_modern_tooling_2026/05_uv_tool_global_tools/references/links.md rename to modules/11_modern_tooling_2026/05_uv_tool_global_tools/references/links.md diff --git a/11_modern_tooling_2026/05_uv_tool_global_tools/tests/test_basic.py b/modules/11_modern_tooling_2026/05_uv_tool_global_tools/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/05_uv_tool_global_tools/tests/test_basic.py rename to modules/11_modern_tooling_2026/05_uv_tool_global_tools/tests/test_basic.py diff --git a/11_modern_tooling_2026/06_uv_pyproject_toml/README.md b/modules/11_modern_tooling_2026/06_uv_pyproject_toml/README.md similarity index 100% rename from 11_modern_tooling_2026/06_uv_pyproject_toml/README.md rename to modules/11_modern_tooling_2026/06_uv_pyproject_toml/README.md diff --git a/11_modern_tooling_2026/06_uv_pyproject_toml/examples/example_basic.py b/modules/11_modern_tooling_2026/06_uv_pyproject_toml/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/06_uv_pyproject_toml/examples/example_basic.py rename to modules/11_modern_tooling_2026/06_uv_pyproject_toml/examples/example_basic.py diff --git a/11_modern_tooling_2026/06_uv_pyproject_toml/exercise/exercise_01.py b/modules/11_modern_tooling_2026/06_uv_pyproject_toml/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/06_uv_pyproject_toml/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/06_uv_pyproject_toml/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/06_uv_pyproject_toml/references/links.md b/modules/11_modern_tooling_2026/06_uv_pyproject_toml/references/links.md similarity index 100% rename from 11_modern_tooling_2026/06_uv_pyproject_toml/references/links.md rename to modules/11_modern_tooling_2026/06_uv_pyproject_toml/references/links.md diff --git a/11_modern_tooling_2026/06_uv_pyproject_toml/tests/test_basic.py b/modules/11_modern_tooling_2026/06_uv_pyproject_toml/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/06_uv_pyproject_toml/tests/test_basic.py rename to modules/11_modern_tooling_2026/06_uv_pyproject_toml/tests/test_basic.py diff --git a/11_modern_tooling_2026/07_uv_lock_files/README.md b/modules/11_modern_tooling_2026/07_uv_lock_files/README.md similarity index 100% rename from 11_modern_tooling_2026/07_uv_lock_files/README.md rename to modules/11_modern_tooling_2026/07_uv_lock_files/README.md diff --git a/11_modern_tooling_2026/07_uv_lock_files/examples/example_basic.py b/modules/11_modern_tooling_2026/07_uv_lock_files/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/07_uv_lock_files/examples/example_basic.py rename to modules/11_modern_tooling_2026/07_uv_lock_files/examples/example_basic.py diff --git a/11_modern_tooling_2026/07_uv_lock_files/exercise/exercise_01.py b/modules/11_modern_tooling_2026/07_uv_lock_files/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/07_uv_lock_files/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/07_uv_lock_files/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/07_uv_lock_files/references/links.md b/modules/11_modern_tooling_2026/07_uv_lock_files/references/links.md similarity index 100% rename from 11_modern_tooling_2026/07_uv_lock_files/references/links.md rename to modules/11_modern_tooling_2026/07_uv_lock_files/references/links.md diff --git a/11_modern_tooling_2026/07_uv_lock_files/tests/test_basic.py b/modules/11_modern_tooling_2026/07_uv_lock_files/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/07_uv_lock_files/tests/test_basic.py rename to modules/11_modern_tooling_2026/07_uv_lock_files/tests/test_basic.py diff --git a/11_modern_tooling_2026/08_uv_workspaces_monorepos/README.md b/modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/README.md similarity index 100% rename from 11_modern_tooling_2026/08_uv_workspaces_monorepos/README.md rename to modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/README.md diff --git a/11_modern_tooling_2026/08_uv_workspaces_monorepos/examples/example_basic.py b/modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/08_uv_workspaces_monorepos/examples/example_basic.py rename to modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/examples/example_basic.py diff --git a/11_modern_tooling_2026/08_uv_workspaces_monorepos/exercise/exercise_01.py b/modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/08_uv_workspaces_monorepos/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/08_uv_workspaces_monorepos/references/links.md b/modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/references/links.md similarity index 100% rename from 11_modern_tooling_2026/08_uv_workspaces_monorepos/references/links.md rename to modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/references/links.md diff --git a/11_modern_tooling_2026/08_uv_workspaces_monorepos/tests/test_basic.py b/modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/08_uv_workspaces_monorepos/tests/test_basic.py rename to modules/11_modern_tooling_2026/08_uv_workspaces_monorepos/tests/test_basic.py diff --git a/11_modern_tooling_2026/09_uv_scripts_entry_points/README.md b/modules/11_modern_tooling_2026/09_uv_scripts_entry_points/README.md similarity index 100% rename from 11_modern_tooling_2026/09_uv_scripts_entry_points/README.md rename to modules/11_modern_tooling_2026/09_uv_scripts_entry_points/README.md diff --git a/11_modern_tooling_2026/09_uv_scripts_entry_points/examples/example_basic.py b/modules/11_modern_tooling_2026/09_uv_scripts_entry_points/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/09_uv_scripts_entry_points/examples/example_basic.py rename to modules/11_modern_tooling_2026/09_uv_scripts_entry_points/examples/example_basic.py diff --git a/11_modern_tooling_2026/09_uv_scripts_entry_points/exercise/exercise_01.py b/modules/11_modern_tooling_2026/09_uv_scripts_entry_points/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/09_uv_scripts_entry_points/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/09_uv_scripts_entry_points/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/09_uv_scripts_entry_points/references/links.md b/modules/11_modern_tooling_2026/09_uv_scripts_entry_points/references/links.md similarity index 100% rename from 11_modern_tooling_2026/09_uv_scripts_entry_points/references/links.md rename to modules/11_modern_tooling_2026/09_uv_scripts_entry_points/references/links.md diff --git a/11_modern_tooling_2026/09_uv_scripts_entry_points/tests/test_basic.py b/modules/11_modern_tooling_2026/09_uv_scripts_entry_points/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/09_uv_scripts_entry_points/tests/test_basic.py rename to modules/11_modern_tooling_2026/09_uv_scripts_entry_points/tests/test_basic.py diff --git a/11_modern_tooling_2026/10_ruff_introduction_speed/README.md b/modules/11_modern_tooling_2026/10_ruff_introduction_speed/README.md similarity index 100% rename from 11_modern_tooling_2026/10_ruff_introduction_speed/README.md rename to modules/11_modern_tooling_2026/10_ruff_introduction_speed/README.md diff --git a/11_modern_tooling_2026/10_ruff_introduction_speed/examples/example_basic.py b/modules/11_modern_tooling_2026/10_ruff_introduction_speed/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/10_ruff_introduction_speed/examples/example_basic.py rename to modules/11_modern_tooling_2026/10_ruff_introduction_speed/examples/example_basic.py diff --git a/11_modern_tooling_2026/10_ruff_introduction_speed/exercise/exercise_01.py b/modules/11_modern_tooling_2026/10_ruff_introduction_speed/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/10_ruff_introduction_speed/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/10_ruff_introduction_speed/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/10_ruff_introduction_speed/references/links.md b/modules/11_modern_tooling_2026/10_ruff_introduction_speed/references/links.md similarity index 100% rename from 11_modern_tooling_2026/10_ruff_introduction_speed/references/links.md rename to modules/11_modern_tooling_2026/10_ruff_introduction_speed/references/links.md diff --git a/11_modern_tooling_2026/10_ruff_introduction_speed/tests/test_basic.py b/modules/11_modern_tooling_2026/10_ruff_introduction_speed/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/10_ruff_introduction_speed/tests/test_basic.py rename to modules/11_modern_tooling_2026/10_ruff_introduction_speed/tests/test_basic.py diff --git a/11_modern_tooling_2026/11_ruff_linter_rules/README.md b/modules/11_modern_tooling_2026/11_ruff_linter_rules/README.md similarity index 100% rename from 11_modern_tooling_2026/11_ruff_linter_rules/README.md rename to modules/11_modern_tooling_2026/11_ruff_linter_rules/README.md diff --git a/11_modern_tooling_2026/11_ruff_linter_rules/examples/example_basic.py b/modules/11_modern_tooling_2026/11_ruff_linter_rules/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/11_ruff_linter_rules/examples/example_basic.py rename to modules/11_modern_tooling_2026/11_ruff_linter_rules/examples/example_basic.py diff --git a/11_modern_tooling_2026/11_ruff_linter_rules/exercise/exercise_01.py b/modules/11_modern_tooling_2026/11_ruff_linter_rules/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/11_ruff_linter_rules/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/11_ruff_linter_rules/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/11_ruff_linter_rules/references/links.md b/modules/11_modern_tooling_2026/11_ruff_linter_rules/references/links.md similarity index 100% rename from 11_modern_tooling_2026/11_ruff_linter_rules/references/links.md rename to modules/11_modern_tooling_2026/11_ruff_linter_rules/references/links.md diff --git a/11_modern_tooling_2026/11_ruff_linter_rules/tests/test_basic.py b/modules/11_modern_tooling_2026/11_ruff_linter_rules/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/11_ruff_linter_rules/tests/test_basic.py rename to modules/11_modern_tooling_2026/11_ruff_linter_rules/tests/test_basic.py diff --git a/11_modern_tooling_2026/12_ruff_formatter_black/README.md b/modules/11_modern_tooling_2026/12_ruff_formatter_black/README.md similarity index 100% rename from 11_modern_tooling_2026/12_ruff_formatter_black/README.md rename to modules/11_modern_tooling_2026/12_ruff_formatter_black/README.md diff --git a/11_modern_tooling_2026/12_ruff_formatter_black/examples/example_basic.py b/modules/11_modern_tooling_2026/12_ruff_formatter_black/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/12_ruff_formatter_black/examples/example_basic.py rename to modules/11_modern_tooling_2026/12_ruff_formatter_black/examples/example_basic.py diff --git a/11_modern_tooling_2026/12_ruff_formatter_black/exercise/exercise_01.py b/modules/11_modern_tooling_2026/12_ruff_formatter_black/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/12_ruff_formatter_black/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/12_ruff_formatter_black/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/12_ruff_formatter_black/references/links.md b/modules/11_modern_tooling_2026/12_ruff_formatter_black/references/links.md similarity index 100% rename from 11_modern_tooling_2026/12_ruff_formatter_black/references/links.md rename to modules/11_modern_tooling_2026/12_ruff_formatter_black/references/links.md diff --git a/11_modern_tooling_2026/12_ruff_formatter_black/tests/test_basic.py b/modules/11_modern_tooling_2026/12_ruff_formatter_black/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/12_ruff_formatter_black/tests/test_basic.py rename to modules/11_modern_tooling_2026/12_ruff_formatter_black/tests/test_basic.py diff --git a/11_modern_tooling_2026/13_ruff_import_sorter_isort/README.md b/modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/README.md similarity index 100% rename from 11_modern_tooling_2026/13_ruff_import_sorter_isort/README.md rename to modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/README.md diff --git a/11_modern_tooling_2026/13_ruff_import_sorter_isort/examples/example_basic.py b/modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/13_ruff_import_sorter_isort/examples/example_basic.py rename to modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/examples/example_basic.py diff --git a/11_modern_tooling_2026/13_ruff_import_sorter_isort/exercise/exercise_01.py b/modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/13_ruff_import_sorter_isort/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/13_ruff_import_sorter_isort/references/links.md b/modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/references/links.md similarity index 100% rename from 11_modern_tooling_2026/13_ruff_import_sorter_isort/references/links.md rename to modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/references/links.md diff --git a/11_modern_tooling_2026/13_ruff_import_sorter_isort/tests/test_basic.py b/modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/13_ruff_import_sorter_isort/tests/test_basic.py rename to modules/11_modern_tooling_2026/13_ruff_import_sorter_isort/tests/test_basic.py diff --git a/11_modern_tooling_2026/14_ruff_pyproject_configuration/README.md b/modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/README.md similarity index 100% rename from 11_modern_tooling_2026/14_ruff_pyproject_configuration/README.md rename to modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/README.md diff --git a/11_modern_tooling_2026/14_ruff_pyproject_configuration/examples/example_basic.py b/modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/14_ruff_pyproject_configuration/examples/example_basic.py rename to modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/examples/example_basic.py diff --git a/11_modern_tooling_2026/14_ruff_pyproject_configuration/exercise/exercise_01.py b/modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/14_ruff_pyproject_configuration/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/14_ruff_pyproject_configuration/references/links.md b/modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/references/links.md similarity index 100% rename from 11_modern_tooling_2026/14_ruff_pyproject_configuration/references/links.md rename to modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/references/links.md diff --git a/11_modern_tooling_2026/14_ruff_pyproject_configuration/tests/test_basic.py b/modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/14_ruff_pyproject_configuration/tests/test_basic.py rename to modules/11_modern_tooling_2026/14_ruff_pyproject_configuration/tests/test_basic.py diff --git a/11_modern_tooling_2026/15_ruff_strict_rules/README.md b/modules/11_modern_tooling_2026/15_ruff_strict_rules/README.md similarity index 100% rename from 11_modern_tooling_2026/15_ruff_strict_rules/README.md rename to modules/11_modern_tooling_2026/15_ruff_strict_rules/README.md diff --git a/11_modern_tooling_2026/15_ruff_strict_rules/examples/example_basic.py b/modules/11_modern_tooling_2026/15_ruff_strict_rules/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/15_ruff_strict_rules/examples/example_basic.py rename to modules/11_modern_tooling_2026/15_ruff_strict_rules/examples/example_basic.py diff --git a/11_modern_tooling_2026/15_ruff_strict_rules/exercise/exercise_01.py b/modules/11_modern_tooling_2026/15_ruff_strict_rules/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/15_ruff_strict_rules/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/15_ruff_strict_rules/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/15_ruff_strict_rules/references/links.md b/modules/11_modern_tooling_2026/15_ruff_strict_rules/references/links.md similarity index 100% rename from 11_modern_tooling_2026/15_ruff_strict_rules/references/links.md rename to modules/11_modern_tooling_2026/15_ruff_strict_rules/references/links.md diff --git a/11_modern_tooling_2026/15_ruff_strict_rules/tests/test_basic.py b/modules/11_modern_tooling_2026/15_ruff_strict_rules/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/15_ruff_strict_rules/tests/test_basic.py rename to modules/11_modern_tooling_2026/15_ruff_strict_rules/tests/test_basic.py diff --git a/11_modern_tooling_2026/16_ruff_performance_benchmarks/README.md b/modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/README.md similarity index 100% rename from 11_modern_tooling_2026/16_ruff_performance_benchmarks/README.md rename to modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/README.md diff --git a/11_modern_tooling_2026/16_ruff_performance_benchmarks/examples/example_basic.py b/modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/16_ruff_performance_benchmarks/examples/example_basic.py rename to modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/examples/example_basic.py diff --git a/11_modern_tooling_2026/16_ruff_performance_benchmarks/exercise/exercise_01.py b/modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/16_ruff_performance_benchmarks/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/16_ruff_performance_benchmarks/references/links.md b/modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/references/links.md similarity index 100% rename from 11_modern_tooling_2026/16_ruff_performance_benchmarks/references/links.md rename to modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/references/links.md diff --git a/11_modern_tooling_2026/16_ruff_performance_benchmarks/tests/test_basic.py b/modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/16_ruff_performance_benchmarks/tests/test_basic.py rename to modules/11_modern_tooling_2026/16_ruff_performance_benchmarks/tests/test_basic.py diff --git a/11_modern_tooling_2026/17_ruff_workflow_integration/README.md b/modules/11_modern_tooling_2026/17_ruff_workflow_integration/README.md similarity index 100% rename from 11_modern_tooling_2026/17_ruff_workflow_integration/README.md rename to modules/11_modern_tooling_2026/17_ruff_workflow_integration/README.md diff --git a/11_modern_tooling_2026/17_ruff_workflow_integration/examples/example_basic.py b/modules/11_modern_tooling_2026/17_ruff_workflow_integration/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/17_ruff_workflow_integration/examples/example_basic.py rename to modules/11_modern_tooling_2026/17_ruff_workflow_integration/examples/example_basic.py diff --git a/11_modern_tooling_2026/17_ruff_workflow_integration/exercise/exercise_01.py b/modules/11_modern_tooling_2026/17_ruff_workflow_integration/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/17_ruff_workflow_integration/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/17_ruff_workflow_integration/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/17_ruff_workflow_integration/references/links.md b/modules/11_modern_tooling_2026/17_ruff_workflow_integration/references/links.md similarity index 100% rename from 11_modern_tooling_2026/17_ruff_workflow_integration/references/links.md rename to modules/11_modern_tooling_2026/17_ruff_workflow_integration/references/links.md diff --git a/11_modern_tooling_2026/17_ruff_workflow_integration/tests/test_basic.py b/modules/11_modern_tooling_2026/17_ruff_workflow_integration/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/17_ruff_workflow_integration/tests/test_basic.py rename to modules/11_modern_tooling_2026/17_ruff_workflow_integration/tests/test_basic.py diff --git a/11_modern_tooling_2026/18_mypy_current_state_2026/README.md b/modules/11_modern_tooling_2026/18_mypy_current_state_2026/README.md similarity index 100% rename from 11_modern_tooling_2026/18_mypy_current_state_2026/README.md rename to modules/11_modern_tooling_2026/18_mypy_current_state_2026/README.md diff --git a/11_modern_tooling_2026/18_mypy_current_state_2026/examples/example_basic.py b/modules/11_modern_tooling_2026/18_mypy_current_state_2026/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/18_mypy_current_state_2026/examples/example_basic.py rename to modules/11_modern_tooling_2026/18_mypy_current_state_2026/examples/example_basic.py diff --git a/11_modern_tooling_2026/18_mypy_current_state_2026/exercise/exercise_01.py b/modules/11_modern_tooling_2026/18_mypy_current_state_2026/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/18_mypy_current_state_2026/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/18_mypy_current_state_2026/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/18_mypy_current_state_2026/references/links.md b/modules/11_modern_tooling_2026/18_mypy_current_state_2026/references/links.md similarity index 100% rename from 11_modern_tooling_2026/18_mypy_current_state_2026/references/links.md rename to modules/11_modern_tooling_2026/18_mypy_current_state_2026/references/links.md diff --git a/11_modern_tooling_2026/18_mypy_current_state_2026/tests/test_basic.py b/modules/11_modern_tooling_2026/18_mypy_current_state_2026/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/18_mypy_current_state_2026/tests/test_basic.py rename to modules/11_modern_tooling_2026/18_mypy_current_state_2026/tests/test_basic.py diff --git a/11_modern_tooling_2026/19_pyright_basedpyright/README.md b/modules/11_modern_tooling_2026/19_pyright_basedpyright/README.md similarity index 100% rename from 11_modern_tooling_2026/19_pyright_basedpyright/README.md rename to modules/11_modern_tooling_2026/19_pyright_basedpyright/README.md diff --git a/11_modern_tooling_2026/19_pyright_basedpyright/examples/example_basic.py b/modules/11_modern_tooling_2026/19_pyright_basedpyright/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/19_pyright_basedpyright/examples/example_basic.py rename to modules/11_modern_tooling_2026/19_pyright_basedpyright/examples/example_basic.py diff --git a/11_modern_tooling_2026/19_pyright_basedpyright/exercise/exercise_01.py b/modules/11_modern_tooling_2026/19_pyright_basedpyright/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/19_pyright_basedpyright/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/19_pyright_basedpyright/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/19_pyright_basedpyright/references/links.md b/modules/11_modern_tooling_2026/19_pyright_basedpyright/references/links.md similarity index 100% rename from 11_modern_tooling_2026/19_pyright_basedpyright/references/links.md rename to modules/11_modern_tooling_2026/19_pyright_basedpyright/references/links.md diff --git a/11_modern_tooling_2026/19_pyright_basedpyright/tests/test_basic.py b/modules/11_modern_tooling_2026/19_pyright_basedpyright/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/19_pyright_basedpyright/tests/test_basic.py rename to modules/11_modern_tooling_2026/19_pyright_basedpyright/tests/test_basic.py diff --git a/11_modern_tooling_2026/20_pylyzer_type_checker_rust/README.md b/modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/README.md similarity index 100% rename from 11_modern_tooling_2026/20_pylyzer_type_checker_rust/README.md rename to modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/README.md diff --git a/11_modern_tooling_2026/20_pylyzer_type_checker_rust/examples/example_basic.py b/modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/20_pylyzer_type_checker_rust/examples/example_basic.py rename to modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/examples/example_basic.py diff --git a/11_modern_tooling_2026/20_pylyzer_type_checker_rust/exercise/exercise_01.py b/modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/20_pylyzer_type_checker_rust/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/20_pylyzer_type_checker_rust/references/links.md b/modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/references/links.md similarity index 100% rename from 11_modern_tooling_2026/20_pylyzer_type_checker_rust/references/links.md rename to modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/references/links.md diff --git a/11_modern_tooling_2026/20_pylyzer_type_checker_rust/tests/test_basic.py b/modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/20_pylyzer_type_checker_rust/tests/test_basic.py rename to modules/11_modern_tooling_2026/20_pylyzer_type_checker_rust/tests/test_basic.py diff --git a/11_modern_tooling_2026/21_type_checkers_comparison/README.md b/modules/11_modern_tooling_2026/21_type_checkers_comparison/README.md similarity index 100% rename from 11_modern_tooling_2026/21_type_checkers_comparison/README.md rename to modules/11_modern_tooling_2026/21_type_checkers_comparison/README.md diff --git a/11_modern_tooling_2026/21_type_checkers_comparison/examples/example_basic.py b/modules/11_modern_tooling_2026/21_type_checkers_comparison/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/21_type_checkers_comparison/examples/example_basic.py rename to modules/11_modern_tooling_2026/21_type_checkers_comparison/examples/example_basic.py diff --git a/11_modern_tooling_2026/21_type_checkers_comparison/exercise/exercise_01.py b/modules/11_modern_tooling_2026/21_type_checkers_comparison/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/21_type_checkers_comparison/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/21_type_checkers_comparison/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/21_type_checkers_comparison/references/links.md b/modules/11_modern_tooling_2026/21_type_checkers_comparison/references/links.md similarity index 100% rename from 11_modern_tooling_2026/21_type_checkers_comparison/references/links.md rename to modules/11_modern_tooling_2026/21_type_checkers_comparison/references/links.md diff --git a/11_modern_tooling_2026/21_type_checkers_comparison/tests/test_basic.py b/modules/11_modern_tooling_2026/21_type_checkers_comparison/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/21_type_checkers_comparison/tests/test_basic.py rename to modules/11_modern_tooling_2026/21_type_checkers_comparison/tests/test_basic.py diff --git a/11_modern_tooling_2026/22_strict_typing_configuration/README.md b/modules/11_modern_tooling_2026/22_strict_typing_configuration/README.md similarity index 100% rename from 11_modern_tooling_2026/22_strict_typing_configuration/README.md rename to modules/11_modern_tooling_2026/22_strict_typing_configuration/README.md diff --git a/11_modern_tooling_2026/22_strict_typing_configuration/examples/example_basic.py b/modules/11_modern_tooling_2026/22_strict_typing_configuration/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/22_strict_typing_configuration/examples/example_basic.py rename to modules/11_modern_tooling_2026/22_strict_typing_configuration/examples/example_basic.py diff --git a/11_modern_tooling_2026/22_strict_typing_configuration/exercise/exercise_01.py b/modules/11_modern_tooling_2026/22_strict_typing_configuration/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/22_strict_typing_configuration/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/22_strict_typing_configuration/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/22_strict_typing_configuration/references/links.md b/modules/11_modern_tooling_2026/22_strict_typing_configuration/references/links.md similarity index 100% rename from 11_modern_tooling_2026/22_strict_typing_configuration/references/links.md rename to modules/11_modern_tooling_2026/22_strict_typing_configuration/references/links.md diff --git a/11_modern_tooling_2026/22_strict_typing_configuration/tests/test_basic.py b/modules/11_modern_tooling_2026/22_strict_typing_configuration/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/22_strict_typing_configuration/tests/test_basic.py rename to modules/11_modern_tooling_2026/22_strict_typing_configuration/tests/test_basic.py diff --git a/11_modern_tooling_2026/23_type_narrowing_advanced_guards/README.md b/modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/README.md similarity index 100% rename from 11_modern_tooling_2026/23_type_narrowing_advanced_guards/README.md rename to modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/README.md diff --git a/11_modern_tooling_2026/23_type_narrowing_advanced_guards/examples/example_basic.py b/modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/23_type_narrowing_advanced_guards/examples/example_basic.py rename to modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/examples/example_basic.py diff --git a/11_modern_tooling_2026/23_type_narrowing_advanced_guards/exercise/exercise_01.py b/modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/23_type_narrowing_advanced_guards/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/23_type_narrowing_advanced_guards/references/links.md b/modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/references/links.md similarity index 100% rename from 11_modern_tooling_2026/23_type_narrowing_advanced_guards/references/links.md rename to modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/references/links.md diff --git a/11_modern_tooling_2026/23_type_narrowing_advanced_guards/tests/test_basic.py b/modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/23_type_narrowing_advanced_guards/tests/test_basic.py rename to modules/11_modern_tooling_2026/23_type_narrowing_advanced_guards/tests/test_basic.py diff --git a/11_modern_tooling_2026/24_precommit_configuration_hooks/README.md b/modules/11_modern_tooling_2026/24_precommit_configuration_hooks/README.md similarity index 100% rename from 11_modern_tooling_2026/24_precommit_configuration_hooks/README.md rename to modules/11_modern_tooling_2026/24_precommit_configuration_hooks/README.md diff --git a/11_modern_tooling_2026/24_precommit_configuration_hooks/examples/example_basic.py b/modules/11_modern_tooling_2026/24_precommit_configuration_hooks/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/24_precommit_configuration_hooks/examples/example_basic.py rename to modules/11_modern_tooling_2026/24_precommit_configuration_hooks/examples/example_basic.py diff --git a/11_modern_tooling_2026/24_precommit_configuration_hooks/exercise/exercise_01.py b/modules/11_modern_tooling_2026/24_precommit_configuration_hooks/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/24_precommit_configuration_hooks/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/24_precommit_configuration_hooks/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/24_precommit_configuration_hooks/references/links.md b/modules/11_modern_tooling_2026/24_precommit_configuration_hooks/references/links.md similarity index 100% rename from 11_modern_tooling_2026/24_precommit_configuration_hooks/references/links.md rename to modules/11_modern_tooling_2026/24_precommit_configuration_hooks/references/links.md diff --git a/11_modern_tooling_2026/24_precommit_configuration_hooks/tests/test_basic.py b/modules/11_modern_tooling_2026/24_precommit_configuration_hooks/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/24_precommit_configuration_hooks/tests/test_basic.py rename to modules/11_modern_tooling_2026/24_precommit_configuration_hooks/tests/test_basic.py diff --git a/11_modern_tooling_2026/25_precommit_security_hooks/README.md b/modules/11_modern_tooling_2026/25_precommit_security_hooks/README.md similarity index 100% rename from 11_modern_tooling_2026/25_precommit_security_hooks/README.md rename to modules/11_modern_tooling_2026/25_precommit_security_hooks/README.md diff --git a/11_modern_tooling_2026/25_precommit_security_hooks/examples/example_basic.py b/modules/11_modern_tooling_2026/25_precommit_security_hooks/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/25_precommit_security_hooks/examples/example_basic.py rename to modules/11_modern_tooling_2026/25_precommit_security_hooks/examples/example_basic.py diff --git a/11_modern_tooling_2026/25_precommit_security_hooks/exercise/exercise_01.py b/modules/11_modern_tooling_2026/25_precommit_security_hooks/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/25_precommit_security_hooks/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/25_precommit_security_hooks/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/25_precommit_security_hooks/references/links.md b/modules/11_modern_tooling_2026/25_precommit_security_hooks/references/links.md similarity index 100% rename from 11_modern_tooling_2026/25_precommit_security_hooks/references/links.md rename to modules/11_modern_tooling_2026/25_precommit_security_hooks/references/links.md diff --git a/11_modern_tooling_2026/25_precommit_security_hooks/tests/test_basic.py b/modules/11_modern_tooling_2026/25_precommit_security_hooks/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/25_precommit_security_hooks/tests/test_basic.py rename to modules/11_modern_tooling_2026/25_precommit_security_hooks/tests/test_basic.py diff --git a/11_modern_tooling_2026/26_precommit_performance_caching/README.md b/modules/11_modern_tooling_2026/26_precommit_performance_caching/README.md similarity index 100% rename from 11_modern_tooling_2026/26_precommit_performance_caching/README.md rename to modules/11_modern_tooling_2026/26_precommit_performance_caching/README.md diff --git a/11_modern_tooling_2026/26_precommit_performance_caching/examples/example_basic.py b/modules/11_modern_tooling_2026/26_precommit_performance_caching/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/26_precommit_performance_caching/examples/example_basic.py rename to modules/11_modern_tooling_2026/26_precommit_performance_caching/examples/example_basic.py diff --git a/11_modern_tooling_2026/26_precommit_performance_caching/exercise/exercise_01.py b/modules/11_modern_tooling_2026/26_precommit_performance_caching/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/26_precommit_performance_caching/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/26_precommit_performance_caching/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/26_precommit_performance_caching/references/links.md b/modules/11_modern_tooling_2026/26_precommit_performance_caching/references/links.md similarity index 100% rename from 11_modern_tooling_2026/26_precommit_performance_caching/references/links.md rename to modules/11_modern_tooling_2026/26_precommit_performance_caching/references/links.md diff --git a/11_modern_tooling_2026/26_precommit_performance_caching/tests/test_basic.py b/modules/11_modern_tooling_2026/26_precommit_performance_caching/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/26_precommit_performance_caching/tests/test_basic.py rename to modules/11_modern_tooling_2026/26_precommit_performance_caching/tests/test_basic.py diff --git a/11_modern_tooling_2026/27_pytest_advanced_fixtures/README.md b/modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/README.md similarity index 100% rename from 11_modern_tooling_2026/27_pytest_advanced_fixtures/README.md rename to modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/README.md diff --git a/11_modern_tooling_2026/27_pytest_advanced_fixtures/examples/example_basic.py b/modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/27_pytest_advanced_fixtures/examples/example_basic.py rename to modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/examples/example_basic.py diff --git a/11_modern_tooling_2026/27_pytest_advanced_fixtures/exercise/exercise_01.py b/modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/27_pytest_advanced_fixtures/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/27_pytest_advanced_fixtures/references/links.md b/modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/references/links.md similarity index 100% rename from 11_modern_tooling_2026/27_pytest_advanced_fixtures/references/links.md rename to modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/references/links.md diff --git a/11_modern_tooling_2026/27_pytest_advanced_fixtures/tests/test_basic.py b/modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/27_pytest_advanced_fixtures/tests/test_basic.py rename to modules/11_modern_tooling_2026/27_pytest_advanced_fixtures/tests/test_basic.py diff --git a/11_modern_tooling_2026/28_pytest_cov_coverage/README.md b/modules/11_modern_tooling_2026/28_pytest_cov_coverage/README.md similarity index 100% rename from 11_modern_tooling_2026/28_pytest_cov_coverage/README.md rename to modules/11_modern_tooling_2026/28_pytest_cov_coverage/README.md diff --git a/11_modern_tooling_2026/28_pytest_cov_coverage/examples/example_basic.py b/modules/11_modern_tooling_2026/28_pytest_cov_coverage/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/28_pytest_cov_coverage/examples/example_basic.py rename to modules/11_modern_tooling_2026/28_pytest_cov_coverage/examples/example_basic.py diff --git a/11_modern_tooling_2026/28_pytest_cov_coverage/exercise/exercise_01.py b/modules/11_modern_tooling_2026/28_pytest_cov_coverage/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/28_pytest_cov_coverage/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/28_pytest_cov_coverage/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/28_pytest_cov_coverage/references/links.md b/modules/11_modern_tooling_2026/28_pytest_cov_coverage/references/links.md similarity index 100% rename from 11_modern_tooling_2026/28_pytest_cov_coverage/references/links.md rename to modules/11_modern_tooling_2026/28_pytest_cov_coverage/references/links.md diff --git a/11_modern_tooling_2026/28_pytest_cov_coverage/tests/test_basic.py b/modules/11_modern_tooling_2026/28_pytest_cov_coverage/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/28_pytest_cov_coverage/tests/test_basic.py rename to modules/11_modern_tooling_2026/28_pytest_cov_coverage/tests/test_basic.py diff --git a/11_modern_tooling_2026/29_pytest_xdist_parallelization/README.md b/modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/README.md similarity index 100% rename from 11_modern_tooling_2026/29_pytest_xdist_parallelization/README.md rename to modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/README.md diff --git a/11_modern_tooling_2026/29_pytest_xdist_parallelization/examples/example_basic.py b/modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/29_pytest_xdist_parallelization/examples/example_basic.py rename to modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/examples/example_basic.py diff --git a/11_modern_tooling_2026/29_pytest_xdist_parallelization/exercise/exercise_01.py b/modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/29_pytest_xdist_parallelization/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/29_pytest_xdist_parallelization/references/links.md b/modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/references/links.md similarity index 100% rename from 11_modern_tooling_2026/29_pytest_xdist_parallelization/references/links.md rename to modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/references/links.md diff --git a/11_modern_tooling_2026/29_pytest_xdist_parallelization/tests/test_basic.py b/modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/29_pytest_xdist_parallelization/tests/test_basic.py rename to modules/11_modern_tooling_2026/29_pytest_xdist_parallelization/tests/test_basic.py diff --git a/11_modern_tooling_2026/30_hypothesis_property_testing/README.md b/modules/11_modern_tooling_2026/30_hypothesis_property_testing/README.md similarity index 100% rename from 11_modern_tooling_2026/30_hypothesis_property_testing/README.md rename to modules/11_modern_tooling_2026/30_hypothesis_property_testing/README.md diff --git a/11_modern_tooling_2026/30_hypothesis_property_testing/examples/example_basic.py b/modules/11_modern_tooling_2026/30_hypothesis_property_testing/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/30_hypothesis_property_testing/examples/example_basic.py rename to modules/11_modern_tooling_2026/30_hypothesis_property_testing/examples/example_basic.py diff --git a/11_modern_tooling_2026/30_hypothesis_property_testing/exercise/exercise_01.py b/modules/11_modern_tooling_2026/30_hypothesis_property_testing/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/30_hypothesis_property_testing/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/30_hypothesis_property_testing/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/30_hypothesis_property_testing/references/links.md b/modules/11_modern_tooling_2026/30_hypothesis_property_testing/references/links.md similarity index 100% rename from 11_modern_tooling_2026/30_hypothesis_property_testing/references/links.md rename to modules/11_modern_tooling_2026/30_hypothesis_property_testing/references/links.md diff --git a/11_modern_tooling_2026/30_hypothesis_property_testing/tests/test_basic.py b/modules/11_modern_tooling_2026/30_hypothesis_property_testing/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/30_hypothesis_property_testing/tests/test_basic.py rename to modules/11_modern_tooling_2026/30_hypothesis_property_testing/tests/test_basic.py diff --git a/11_modern_tooling_2026/31_mutation_testing_mutmut/README.md b/modules/11_modern_tooling_2026/31_mutation_testing_mutmut/README.md similarity index 100% rename from 11_modern_tooling_2026/31_mutation_testing_mutmut/README.md rename to modules/11_modern_tooling_2026/31_mutation_testing_mutmut/README.md diff --git a/11_modern_tooling_2026/31_mutation_testing_mutmut/examples/example_basic.py b/modules/11_modern_tooling_2026/31_mutation_testing_mutmut/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/31_mutation_testing_mutmut/examples/example_basic.py rename to modules/11_modern_tooling_2026/31_mutation_testing_mutmut/examples/example_basic.py diff --git a/11_modern_tooling_2026/31_mutation_testing_mutmut/exercise/exercise_01.py b/modules/11_modern_tooling_2026/31_mutation_testing_mutmut/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/31_mutation_testing_mutmut/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/31_mutation_testing_mutmut/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/31_mutation_testing_mutmut/references/links.md b/modules/11_modern_tooling_2026/31_mutation_testing_mutmut/references/links.md similarity index 100% rename from 11_modern_tooling_2026/31_mutation_testing_mutmut/references/links.md rename to modules/11_modern_tooling_2026/31_mutation_testing_mutmut/references/links.md diff --git a/11_modern_tooling_2026/31_mutation_testing_mutmut/tests/test_basic.py b/modules/11_modern_tooling_2026/31_mutation_testing_mutmut/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/31_mutation_testing_mutmut/tests/test_basic.py rename to modules/11_modern_tooling_2026/31_mutation_testing_mutmut/tests/test_basic.py diff --git a/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/README.md b/modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/README.md similarity index 100% rename from 11_modern_tooling_2026/32_pyspy_profiling_without_overhead/README.md rename to modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/README.md diff --git a/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/examples/example_basic.py b/modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/32_pyspy_profiling_without_overhead/examples/example_basic.py rename to modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/examples/example_basic.py diff --git a/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/exercise/exercise_01.py b/modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/32_pyspy_profiling_without_overhead/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/references/links.md b/modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/references/links.md similarity index 100% rename from 11_modern_tooling_2026/32_pyspy_profiling_without_overhead/references/links.md rename to modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/references/links.md diff --git a/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/tests/test_basic.py b/modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/32_pyspy_profiling_without_overhead/tests/test_basic.py rename to modules/11_modern_tooling_2026/32_pyspy_profiling_without_overhead/tests/test_basic.py diff --git a/11_modern_tooling_2026/33_memray_memory_profiling/README.md b/modules/11_modern_tooling_2026/33_memray_memory_profiling/README.md similarity index 100% rename from 11_modern_tooling_2026/33_memray_memory_profiling/README.md rename to modules/11_modern_tooling_2026/33_memray_memory_profiling/README.md diff --git a/11_modern_tooling_2026/33_memray_memory_profiling/examples/example_basic.py b/modules/11_modern_tooling_2026/33_memray_memory_profiling/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/33_memray_memory_profiling/examples/example_basic.py rename to modules/11_modern_tooling_2026/33_memray_memory_profiling/examples/example_basic.py diff --git a/11_modern_tooling_2026/33_memray_memory_profiling/exercise/exercise_01.py b/modules/11_modern_tooling_2026/33_memray_memory_profiling/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/33_memray_memory_profiling/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/33_memray_memory_profiling/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/33_memray_memory_profiling/references/links.md b/modules/11_modern_tooling_2026/33_memray_memory_profiling/references/links.md similarity index 100% rename from 11_modern_tooling_2026/33_memray_memory_profiling/references/links.md rename to modules/11_modern_tooling_2026/33_memray_memory_profiling/references/links.md diff --git a/11_modern_tooling_2026/33_memray_memory_profiling/tests/test_basic.py b/modules/11_modern_tooling_2026/33_memray_memory_profiling/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/33_memray_memory_profiling/tests/test_basic.py rename to modules/11_modern_tooling_2026/33_memray_memory_profiling/tests/test_basic.py diff --git a/11_modern_tooling_2026/34_viztracer_tracing_visual/README.md b/modules/11_modern_tooling_2026/34_viztracer_tracing_visual/README.md similarity index 100% rename from 11_modern_tooling_2026/34_viztracer_tracing_visual/README.md rename to modules/11_modern_tooling_2026/34_viztracer_tracing_visual/README.md diff --git a/11_modern_tooling_2026/34_viztracer_tracing_visual/examples/example_basic.py b/modules/11_modern_tooling_2026/34_viztracer_tracing_visual/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/34_viztracer_tracing_visual/examples/example_basic.py rename to modules/11_modern_tooling_2026/34_viztracer_tracing_visual/examples/example_basic.py diff --git a/11_modern_tooling_2026/34_viztracer_tracing_visual/exercise/exercise_01.py b/modules/11_modern_tooling_2026/34_viztracer_tracing_visual/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/34_viztracer_tracing_visual/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/34_viztracer_tracing_visual/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/34_viztracer_tracing_visual/references/links.md b/modules/11_modern_tooling_2026/34_viztracer_tracing_visual/references/links.md similarity index 100% rename from 11_modern_tooling_2026/34_viztracer_tracing_visual/references/links.md rename to modules/11_modern_tooling_2026/34_viztracer_tracing_visual/references/links.md diff --git a/11_modern_tooling_2026/34_viztracer_tracing_visual/tests/test_basic.py b/modules/11_modern_tooling_2026/34_viztracer_tracing_visual/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/34_viztracer_tracing_visual/tests/test_basic.py rename to modules/11_modern_tooling_2026/34_viztracer_tracing_visual/tests/test_basic.py diff --git a/11_modern_tooling_2026/35_debugpy_remote_debugging/README.md b/modules/11_modern_tooling_2026/35_debugpy_remote_debugging/README.md similarity index 100% rename from 11_modern_tooling_2026/35_debugpy_remote_debugging/README.md rename to modules/11_modern_tooling_2026/35_debugpy_remote_debugging/README.md diff --git a/11_modern_tooling_2026/35_debugpy_remote_debugging/examples/example_basic.py b/modules/11_modern_tooling_2026/35_debugpy_remote_debugging/examples/example_basic.py similarity index 100% rename from 11_modern_tooling_2026/35_debugpy_remote_debugging/examples/example_basic.py rename to modules/11_modern_tooling_2026/35_debugpy_remote_debugging/examples/example_basic.py diff --git a/11_modern_tooling_2026/35_debugpy_remote_debugging/exercise/exercise_01.py b/modules/11_modern_tooling_2026/35_debugpy_remote_debugging/exercise/exercise_01.py similarity index 100% rename from 11_modern_tooling_2026/35_debugpy_remote_debugging/exercise/exercise_01.py rename to modules/11_modern_tooling_2026/35_debugpy_remote_debugging/exercise/exercise_01.py diff --git a/11_modern_tooling_2026/35_debugpy_remote_debugging/references/links.md b/modules/11_modern_tooling_2026/35_debugpy_remote_debugging/references/links.md similarity index 100% rename from 11_modern_tooling_2026/35_debugpy_remote_debugging/references/links.md rename to modules/11_modern_tooling_2026/35_debugpy_remote_debugging/references/links.md diff --git a/11_modern_tooling_2026/35_debugpy_remote_debugging/tests/test_basic.py b/modules/11_modern_tooling_2026/35_debugpy_remote_debugging/tests/test_basic.py similarity index 100% rename from 11_modern_tooling_2026/35_debugpy_remote_debugging/tests/test_basic.py rename to modules/11_modern_tooling_2026/35_debugpy_remote_debugging/tests/test_basic.py diff --git a/11_modern_tooling_2026/README.md b/modules/11_modern_tooling_2026/README.md similarity index 100% rename from 11_modern_tooling_2026/README.md rename to modules/11_modern_tooling_2026/README.md diff --git a/12_fastapi_complete/README.md b/modules/12_fastapi_complete/README.md similarity index 100% rename from 12_fastapi_complete/README.md rename to modules/12_fastapi_complete/README.md diff --git a/12_fastapi_complete/alembic_migrations/README.md b/modules/12_fastapi_complete/alembic_migrations/README.md similarity index 100% rename from 12_fastapi_complete/alembic_migrations/README.md rename to modules/12_fastapi_complete/alembic_migrations/README.md diff --git a/12_fastapi_complete/alembic_migrations/examples/example_basic.py b/modules/12_fastapi_complete/alembic_migrations/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/alembic_migrations/examples/example_basic.py rename to modules/12_fastapi_complete/alembic_migrations/examples/example_basic.py diff --git a/12_fastapi_complete/alembic_migrations/exercise/exercise_01.py b/modules/12_fastapi_complete/alembic_migrations/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/alembic_migrations/exercise/exercise_01.py rename to modules/12_fastapi_complete/alembic_migrations/exercise/exercise_01.py diff --git a/12_fastapi_complete/alembic_migrations/references/links.md b/modules/12_fastapi_complete/alembic_migrations/references/links.md similarity index 100% rename from 12_fastapi_complete/alembic_migrations/references/links.md rename to modules/12_fastapi_complete/alembic_migrations/references/links.md diff --git a/12_fastapi_complete/alembic_migrations/tests/test_basic.py b/modules/12_fastapi_complete/alembic_migrations/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/alembic_migrations/tests/test_basic.py rename to modules/12_fastapi_complete/alembic_migrations/tests/test_basic.py diff --git a/12_fastapi_complete/async_databases/README.md b/modules/12_fastapi_complete/async_databases/README.md similarity index 100% rename from 12_fastapi_complete/async_databases/README.md rename to modules/12_fastapi_complete/async_databases/README.md diff --git a/12_fastapi_complete/async_databases/examples/example_basic.py b/modules/12_fastapi_complete/async_databases/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/async_databases/examples/example_basic.py rename to modules/12_fastapi_complete/async_databases/examples/example_basic.py diff --git a/12_fastapi_complete/async_databases/exercise/exercise_01.py b/modules/12_fastapi_complete/async_databases/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/async_databases/exercise/exercise_01.py rename to modules/12_fastapi_complete/async_databases/exercise/exercise_01.py diff --git a/12_fastapi_complete/async_databases/references/links.md b/modules/12_fastapi_complete/async_databases/references/links.md similarity index 100% rename from 12_fastapi_complete/async_databases/references/links.md rename to modules/12_fastapi_complete/async_databases/references/links.md diff --git a/12_fastapi_complete/async_databases/tests/test_basic.py b/modules/12_fastapi_complete/async_databases/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/async_databases/tests/test_basic.py rename to modules/12_fastapi_complete/async_databases/tests/test_basic.py diff --git a/12_fastapi_complete/authentication_jwt/README.md b/modules/12_fastapi_complete/authentication_jwt/README.md similarity index 100% rename from 12_fastapi_complete/authentication_jwt/README.md rename to modules/12_fastapi_complete/authentication_jwt/README.md diff --git a/12_fastapi_complete/authentication_jwt/examples/example_basic.py b/modules/12_fastapi_complete/authentication_jwt/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/authentication_jwt/examples/example_basic.py rename to modules/12_fastapi_complete/authentication_jwt/examples/example_basic.py diff --git a/12_fastapi_complete/authentication_jwt/exercise/exercise_01.py b/modules/12_fastapi_complete/authentication_jwt/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/authentication_jwt/exercise/exercise_01.py rename to modules/12_fastapi_complete/authentication_jwt/exercise/exercise_01.py diff --git a/12_fastapi_complete/authentication_jwt/references/links.md b/modules/12_fastapi_complete/authentication_jwt/references/links.md similarity index 100% rename from 12_fastapi_complete/authentication_jwt/references/links.md rename to modules/12_fastapi_complete/authentication_jwt/references/links.md diff --git a/12_fastapi_complete/authentication_jwt/tests/test_basic.py b/modules/12_fastapi_complete/authentication_jwt/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/authentication_jwt/tests/test_basic.py rename to modules/12_fastapi_complete/authentication_jwt/tests/test_basic.py diff --git a/12_fastapi_complete/background_tasks/README.md b/modules/12_fastapi_complete/background_tasks/README.md similarity index 100% rename from 12_fastapi_complete/background_tasks/README.md rename to modules/12_fastapi_complete/background_tasks/README.md diff --git a/12_fastapi_complete/background_tasks/examples/example_basic.py b/modules/12_fastapi_complete/background_tasks/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/background_tasks/examples/example_basic.py rename to modules/12_fastapi_complete/background_tasks/examples/example_basic.py diff --git a/12_fastapi_complete/background_tasks/exercise/exercise_01.py b/modules/12_fastapi_complete/background_tasks/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/background_tasks/exercise/exercise_01.py rename to modules/12_fastapi_complete/background_tasks/exercise/exercise_01.py diff --git a/12_fastapi_complete/background_tasks/references/links.md b/modules/12_fastapi_complete/background_tasks/references/links.md similarity index 100% rename from 12_fastapi_complete/background_tasks/references/links.md rename to modules/12_fastapi_complete/background_tasks/references/links.md diff --git a/12_fastapi_complete/background_tasks/tests/test_basic.py b/modules/12_fastapi_complete/background_tasks/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/background_tasks/tests/test_basic.py rename to modules/12_fastapi_complete/background_tasks/tests/test_basic.py diff --git a/12_fastapi_complete/cors/README.md b/modules/12_fastapi_complete/cors/README.md similarity index 100% rename from 12_fastapi_complete/cors/README.md rename to modules/12_fastapi_complete/cors/README.md diff --git a/12_fastapi_complete/cors/examples/example_basic.py b/modules/12_fastapi_complete/cors/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/cors/examples/example_basic.py rename to modules/12_fastapi_complete/cors/examples/example_basic.py diff --git a/12_fastapi_complete/cors/exercise/exercise_01.py b/modules/12_fastapi_complete/cors/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/cors/exercise/exercise_01.py rename to modules/12_fastapi_complete/cors/exercise/exercise_01.py diff --git a/12_fastapi_complete/cors/references/links.md b/modules/12_fastapi_complete/cors/references/links.md similarity index 100% rename from 12_fastapi_complete/cors/references/links.md rename to modules/12_fastapi_complete/cors/references/links.md diff --git a/12_fastapi_complete/cors/tests/test_basic.py b/modules/12_fastapi_complete/cors/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/cors/tests/test_basic.py rename to modules/12_fastapi_complete/cors/tests/test_basic.py diff --git a/12_fastapi_complete/dependency_injection/README.md b/modules/12_fastapi_complete/dependency_injection/README.md similarity index 100% rename from 12_fastapi_complete/dependency_injection/README.md rename to modules/12_fastapi_complete/dependency_injection/README.md diff --git a/12_fastapi_complete/dependency_injection/examples/example_basic.py b/modules/12_fastapi_complete/dependency_injection/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/dependency_injection/examples/example_basic.py rename to modules/12_fastapi_complete/dependency_injection/examples/example_basic.py diff --git a/12_fastapi_complete/dependency_injection/exercise/exercise_01.py b/modules/12_fastapi_complete/dependency_injection/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/dependency_injection/exercise/exercise_01.py rename to modules/12_fastapi_complete/dependency_injection/exercise/exercise_01.py diff --git a/12_fastapi_complete/dependency_injection/references/links.md b/modules/12_fastapi_complete/dependency_injection/references/links.md similarity index 100% rename from 12_fastapi_complete/dependency_injection/references/links.md rename to modules/12_fastapi_complete/dependency_injection/references/links.md diff --git a/12_fastapi_complete/dependency_injection/tests/test_basic.py b/modules/12_fastapi_complete/dependency_injection/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/dependency_injection/tests/test_basic.py rename to modules/12_fastapi_complete/dependency_injection/tests/test_basic.py diff --git a/12_fastapi_complete/deployment/README.md b/modules/12_fastapi_complete/deployment/README.md similarity index 100% rename from 12_fastapi_complete/deployment/README.md rename to modules/12_fastapi_complete/deployment/README.md diff --git a/12_fastapi_complete/deployment/examples/example_basic.py b/modules/12_fastapi_complete/deployment/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/deployment/examples/example_basic.py rename to modules/12_fastapi_complete/deployment/examples/example_basic.py diff --git a/12_fastapi_complete/deployment/exercise/exercise_01.py b/modules/12_fastapi_complete/deployment/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/deployment/exercise/exercise_01.py rename to modules/12_fastapi_complete/deployment/exercise/exercise_01.py diff --git a/12_fastapi_complete/deployment/references/links.md b/modules/12_fastapi_complete/deployment/references/links.md similarity index 100% rename from 12_fastapi_complete/deployment/references/links.md rename to modules/12_fastapi_complete/deployment/references/links.md diff --git a/12_fastapi_complete/deployment/tests/test_basic.py b/modules/12_fastapi_complete/deployment/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/deployment/tests/test_basic.py rename to modules/12_fastapi_complete/deployment/tests/test_basic.py diff --git a/12_fastapi_complete/error_handling/README.md b/modules/12_fastapi_complete/error_handling/README.md similarity index 100% rename from 12_fastapi_complete/error_handling/README.md rename to modules/12_fastapi_complete/error_handling/README.md diff --git a/12_fastapi_complete/error_handling/examples/example_basic.py b/modules/12_fastapi_complete/error_handling/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/error_handling/examples/example_basic.py rename to modules/12_fastapi_complete/error_handling/examples/example_basic.py diff --git a/12_fastapi_complete/error_handling/exercise/exercise_01.py b/modules/12_fastapi_complete/error_handling/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/error_handling/exercise/exercise_01.py rename to modules/12_fastapi_complete/error_handling/exercise/exercise_01.py diff --git a/12_fastapi_complete/error_handling/references/links.md b/modules/12_fastapi_complete/error_handling/references/links.md similarity index 100% rename from 12_fastapi_complete/error_handling/references/links.md rename to modules/12_fastapi_complete/error_handling/references/links.md diff --git a/12_fastapi_complete/error_handling/tests/test_basic.py b/modules/12_fastapi_complete/error_handling/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/error_handling/tests/test_basic.py rename to modules/12_fastapi_complete/error_handling/tests/test_basic.py diff --git a/12_fastapi_complete/fastapi_intro/README.md b/modules/12_fastapi_complete/fastapi_intro/README.md similarity index 100% rename from 12_fastapi_complete/fastapi_intro/README.md rename to modules/12_fastapi_complete/fastapi_intro/README.md diff --git a/12_fastapi_complete/fastapi_intro/examples/example_basic.py b/modules/12_fastapi_complete/fastapi_intro/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/fastapi_intro/examples/example_basic.py rename to modules/12_fastapi_complete/fastapi_intro/examples/example_basic.py diff --git a/12_fastapi_complete/fastapi_intro/exercise/exercise_01.py b/modules/12_fastapi_complete/fastapi_intro/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/fastapi_intro/exercise/exercise_01.py rename to modules/12_fastapi_complete/fastapi_intro/exercise/exercise_01.py diff --git a/12_fastapi_complete/fastapi_intro/references/links.md b/modules/12_fastapi_complete/fastapi_intro/references/links.md similarity index 100% rename from 12_fastapi_complete/fastapi_intro/references/links.md rename to modules/12_fastapi_complete/fastapi_intro/references/links.md diff --git a/12_fastapi_complete/fastapi_intro/tests/test_basic.py b/modules/12_fastapi_complete/fastapi_intro/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/fastapi_intro/tests/test_basic.py rename to modules/12_fastapi_complete/fastapi_intro/tests/test_basic.py diff --git a/12_fastapi_complete/fastapi_performance/README.md b/modules/12_fastapi_complete/fastapi_performance/README.md similarity index 100% rename from 12_fastapi_complete/fastapi_performance/README.md rename to modules/12_fastapi_complete/fastapi_performance/README.md diff --git a/12_fastapi_complete/fastapi_performance/examples/example_basic.py b/modules/12_fastapi_complete/fastapi_performance/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/fastapi_performance/examples/example_basic.py rename to modules/12_fastapi_complete/fastapi_performance/examples/example_basic.py diff --git a/12_fastapi_complete/fastapi_performance/exercise/exercise_01.py b/modules/12_fastapi_complete/fastapi_performance/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/fastapi_performance/exercise/exercise_01.py rename to modules/12_fastapi_complete/fastapi_performance/exercise/exercise_01.py diff --git a/12_fastapi_complete/fastapi_performance/references/links.md b/modules/12_fastapi_complete/fastapi_performance/references/links.md similarity index 100% rename from 12_fastapi_complete/fastapi_performance/references/links.md rename to modules/12_fastapi_complete/fastapi_performance/references/links.md diff --git a/12_fastapi_complete/fastapi_performance/tests/test_basic.py b/modules/12_fastapi_complete/fastapi_performance/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/fastapi_performance/tests/test_basic.py rename to modules/12_fastapi_complete/fastapi_performance/tests/test_basic.py diff --git a/12_fastapi_complete/file_uploads/README.md b/modules/12_fastapi_complete/file_uploads/README.md similarity index 100% rename from 12_fastapi_complete/file_uploads/README.md rename to modules/12_fastapi_complete/file_uploads/README.md diff --git a/12_fastapi_complete/file_uploads/examples/example_basic.py b/modules/12_fastapi_complete/file_uploads/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/file_uploads/examples/example_basic.py rename to modules/12_fastapi_complete/file_uploads/examples/example_basic.py diff --git a/12_fastapi_complete/file_uploads/exercise/exercise_01.py b/modules/12_fastapi_complete/file_uploads/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/file_uploads/exercise/exercise_01.py rename to modules/12_fastapi_complete/file_uploads/exercise/exercise_01.py diff --git a/12_fastapi_complete/file_uploads/references/links.md b/modules/12_fastapi_complete/file_uploads/references/links.md similarity index 100% rename from 12_fastapi_complete/file_uploads/references/links.md rename to modules/12_fastapi_complete/file_uploads/references/links.md diff --git a/12_fastapi_complete/file_uploads/tests/test_basic.py b/modules/12_fastapi_complete/file_uploads/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/file_uploads/tests/test_basic.py rename to modules/12_fastapi_complete/file_uploads/tests/test_basic.py diff --git a/12_fastapi_complete/graphql_optional/README.md b/modules/12_fastapi_complete/graphql_optional/README.md similarity index 100% rename from 12_fastapi_complete/graphql_optional/README.md rename to modules/12_fastapi_complete/graphql_optional/README.md diff --git a/12_fastapi_complete/graphql_optional/examples/example_basic.py b/modules/12_fastapi_complete/graphql_optional/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/graphql_optional/examples/example_basic.py rename to modules/12_fastapi_complete/graphql_optional/examples/example_basic.py diff --git a/12_fastapi_complete/graphql_optional/exercise/exercise_01.py b/modules/12_fastapi_complete/graphql_optional/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/graphql_optional/exercise/exercise_01.py rename to modules/12_fastapi_complete/graphql_optional/exercise/exercise_01.py diff --git a/12_fastapi_complete/graphql_optional/references/links.md b/modules/12_fastapi_complete/graphql_optional/references/links.md similarity index 100% rename from 12_fastapi_complete/graphql_optional/references/links.md rename to modules/12_fastapi_complete/graphql_optional/references/links.md diff --git a/12_fastapi_complete/graphql_optional/tests/test_basic.py b/modules/12_fastapi_complete/graphql_optional/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/graphql_optional/tests/test_basic.py rename to modules/12_fastapi_complete/graphql_optional/tests/test_basic.py diff --git a/12_fastapi_complete/logging_monitoring/README.md b/modules/12_fastapi_complete/logging_monitoring/README.md similarity index 100% rename from 12_fastapi_complete/logging_monitoring/README.md rename to modules/12_fastapi_complete/logging_monitoring/README.md diff --git a/12_fastapi_complete/logging_monitoring/examples/example_basic.py b/modules/12_fastapi_complete/logging_monitoring/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/logging_monitoring/examples/example_basic.py rename to modules/12_fastapi_complete/logging_monitoring/examples/example_basic.py diff --git a/12_fastapi_complete/logging_monitoring/exercise/exercise_01.py b/modules/12_fastapi_complete/logging_monitoring/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/logging_monitoring/exercise/exercise_01.py rename to modules/12_fastapi_complete/logging_monitoring/exercise/exercise_01.py diff --git a/12_fastapi_complete/logging_monitoring/references/links.md b/modules/12_fastapi_complete/logging_monitoring/references/links.md similarity index 100% rename from 12_fastapi_complete/logging_monitoring/references/links.md rename to modules/12_fastapi_complete/logging_monitoring/references/links.md diff --git a/12_fastapi_complete/logging_monitoring/tests/test_basic.py b/modules/12_fastapi_complete/logging_monitoring/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/logging_monitoring/tests/test_basic.py rename to modules/12_fastapi_complete/logging_monitoring/tests/test_basic.py diff --git a/12_fastapi_complete/middleware/README.md b/modules/12_fastapi_complete/middleware/README.md similarity index 100% rename from 12_fastapi_complete/middleware/README.md rename to modules/12_fastapi_complete/middleware/README.md diff --git a/12_fastapi_complete/middleware/examples/example_basic.py b/modules/12_fastapi_complete/middleware/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/middleware/examples/example_basic.py rename to modules/12_fastapi_complete/middleware/examples/example_basic.py diff --git a/12_fastapi_complete/middleware/exercise/exercise_01.py b/modules/12_fastapi_complete/middleware/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/middleware/exercise/exercise_01.py rename to modules/12_fastapi_complete/middleware/exercise/exercise_01.py diff --git a/12_fastapi_complete/middleware/references/links.md b/modules/12_fastapi_complete/middleware/references/links.md similarity index 100% rename from 12_fastapi_complete/middleware/references/links.md rename to modules/12_fastapi_complete/middleware/references/links.md diff --git a/12_fastapi_complete/middleware/tests/test_basic.py b/modules/12_fastapi_complete/middleware/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/middleware/tests/test_basic.py rename to modules/12_fastapi_complete/middleware/tests/test_basic.py diff --git a/12_fastapi_complete/oauth2/README.md b/modules/12_fastapi_complete/oauth2/README.md similarity index 100% rename from 12_fastapi_complete/oauth2/README.md rename to modules/12_fastapi_complete/oauth2/README.md diff --git a/12_fastapi_complete/oauth2/examples/example_basic.py b/modules/12_fastapi_complete/oauth2/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/oauth2/examples/example_basic.py rename to modules/12_fastapi_complete/oauth2/examples/example_basic.py diff --git a/12_fastapi_complete/oauth2/exercise/exercise_01.py b/modules/12_fastapi_complete/oauth2/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/oauth2/exercise/exercise_01.py rename to modules/12_fastapi_complete/oauth2/exercise/exercise_01.py diff --git a/12_fastapi_complete/oauth2/references/links.md b/modules/12_fastapi_complete/oauth2/references/links.md similarity index 100% rename from 12_fastapi_complete/oauth2/references/links.md rename to modules/12_fastapi_complete/oauth2/references/links.md diff --git a/12_fastapi_complete/oauth2/tests/test_basic.py b/modules/12_fastapi_complete/oauth2/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/oauth2/tests/test_basic.py rename to modules/12_fastapi_complete/oauth2/tests/test_basic.py diff --git a/12_fastapi_complete/openapi_customization/README.md b/modules/12_fastapi_complete/openapi_customization/README.md similarity index 100% rename from 12_fastapi_complete/openapi_customization/README.md rename to modules/12_fastapi_complete/openapi_customization/README.md diff --git a/12_fastapi_complete/openapi_customization/examples/example_basic.py b/modules/12_fastapi_complete/openapi_customization/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/openapi_customization/examples/example_basic.py rename to modules/12_fastapi_complete/openapi_customization/examples/example_basic.py diff --git a/12_fastapi_complete/openapi_customization/exercise/exercise_01.py b/modules/12_fastapi_complete/openapi_customization/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/openapi_customization/exercise/exercise_01.py rename to modules/12_fastapi_complete/openapi_customization/exercise/exercise_01.py diff --git a/12_fastapi_complete/openapi_customization/references/links.md b/modules/12_fastapi_complete/openapi_customization/references/links.md similarity index 100% rename from 12_fastapi_complete/openapi_customization/references/links.md rename to modules/12_fastapi_complete/openapi_customization/references/links.md diff --git a/12_fastapi_complete/openapi_customization/tests/test_basic.py b/modules/12_fastapi_complete/openapi_customization/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/openapi_customization/tests/test_basic.py rename to modules/12_fastapi_complete/openapi_customization/tests/test_basic.py diff --git a/12_fastapi_complete/path_query_params/README.md b/modules/12_fastapi_complete/path_query_params/README.md similarity index 100% rename from 12_fastapi_complete/path_query_params/README.md rename to modules/12_fastapi_complete/path_query_params/README.md diff --git a/12_fastapi_complete/path_query_params/examples/example_basic.py b/modules/12_fastapi_complete/path_query_params/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/path_query_params/examples/example_basic.py rename to modules/12_fastapi_complete/path_query_params/examples/example_basic.py diff --git a/12_fastapi_complete/path_query_params/exercise/exercise_01.py b/modules/12_fastapi_complete/path_query_params/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/path_query_params/exercise/exercise_01.py rename to modules/12_fastapi_complete/path_query_params/exercise/exercise_01.py diff --git a/12_fastapi_complete/path_query_params/references/links.md b/modules/12_fastapi_complete/path_query_params/references/links.md similarity index 100% rename from 12_fastapi_complete/path_query_params/references/links.md rename to modules/12_fastapi_complete/path_query_params/references/links.md diff --git a/12_fastapi_complete/path_query_params/tests/test_basic.py b/modules/12_fastapi_complete/path_query_params/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/path_query_params/tests/test_basic.py rename to modules/12_fastapi_complete/path_query_params/tests/test_basic.py diff --git a/12_fastapi_complete/pydantic_models/README.md b/modules/12_fastapi_complete/pydantic_models/README.md similarity index 100% rename from 12_fastapi_complete/pydantic_models/README.md rename to modules/12_fastapi_complete/pydantic_models/README.md diff --git a/12_fastapi_complete/pydantic_models/examples/example_basic.py b/modules/12_fastapi_complete/pydantic_models/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/pydantic_models/examples/example_basic.py rename to modules/12_fastapi_complete/pydantic_models/examples/example_basic.py diff --git a/12_fastapi_complete/pydantic_models/exercise/exercise_01.py b/modules/12_fastapi_complete/pydantic_models/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/pydantic_models/exercise/exercise_01.py rename to modules/12_fastapi_complete/pydantic_models/exercise/exercise_01.py diff --git a/12_fastapi_complete/pydantic_models/references/links.md b/modules/12_fastapi_complete/pydantic_models/references/links.md similarity index 100% rename from 12_fastapi_complete/pydantic_models/references/links.md rename to modules/12_fastapi_complete/pydantic_models/references/links.md diff --git a/12_fastapi_complete/pydantic_models/tests/test_basic.py b/modules/12_fastapi_complete/pydantic_models/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/pydantic_models/tests/test_basic.py rename to modules/12_fastapi_complete/pydantic_models/tests/test_basic.py diff --git a/12_fastapi_complete/rate_limiting/README.md b/modules/12_fastapi_complete/rate_limiting/README.md similarity index 100% rename from 12_fastapi_complete/rate_limiting/README.md rename to modules/12_fastapi_complete/rate_limiting/README.md diff --git a/12_fastapi_complete/rate_limiting/examples/example_basic.py b/modules/12_fastapi_complete/rate_limiting/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/rate_limiting/examples/example_basic.py rename to modules/12_fastapi_complete/rate_limiting/examples/example_basic.py diff --git a/12_fastapi_complete/rate_limiting/exercise/exercise_01.py b/modules/12_fastapi_complete/rate_limiting/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/rate_limiting/exercise/exercise_01.py rename to modules/12_fastapi_complete/rate_limiting/exercise/exercise_01.py diff --git a/12_fastapi_complete/rate_limiting/references/links.md b/modules/12_fastapi_complete/rate_limiting/references/links.md similarity index 100% rename from 12_fastapi_complete/rate_limiting/references/links.md rename to modules/12_fastapi_complete/rate_limiting/references/links.md diff --git a/12_fastapi_complete/rate_limiting/tests/test_basic.py b/modules/12_fastapi_complete/rate_limiting/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/rate_limiting/tests/test_basic.py rename to modules/12_fastapi_complete/rate_limiting/tests/test_basic.py diff --git a/12_fastapi_complete/redis_caching/README.md b/modules/12_fastapi_complete/redis_caching/README.md similarity index 100% rename from 12_fastapi_complete/redis_caching/README.md rename to modules/12_fastapi_complete/redis_caching/README.md diff --git a/12_fastapi_complete/redis_caching/examples/example_basic.py b/modules/12_fastapi_complete/redis_caching/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/redis_caching/examples/example_basic.py rename to modules/12_fastapi_complete/redis_caching/examples/example_basic.py diff --git a/12_fastapi_complete/redis_caching/exercise/exercise_01.py b/modules/12_fastapi_complete/redis_caching/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/redis_caching/exercise/exercise_01.py rename to modules/12_fastapi_complete/redis_caching/exercise/exercise_01.py diff --git a/12_fastapi_complete/redis_caching/references/links.md b/modules/12_fastapi_complete/redis_caching/references/links.md similarity index 100% rename from 12_fastapi_complete/redis_caching/references/links.md rename to modules/12_fastapi_complete/redis_caching/references/links.md diff --git a/12_fastapi_complete/redis_caching/tests/test_basic.py b/modules/12_fastapi_complete/redis_caching/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/redis_caching/tests/test_basic.py rename to modules/12_fastapi_complete/redis_caching/tests/test_basic.py diff --git a/12_fastapi_complete/request_body/README.md b/modules/12_fastapi_complete/request_body/README.md similarity index 100% rename from 12_fastapi_complete/request_body/README.md rename to modules/12_fastapi_complete/request_body/README.md diff --git a/12_fastapi_complete/request_body/examples/example_basic.py b/modules/12_fastapi_complete/request_body/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/request_body/examples/example_basic.py rename to modules/12_fastapi_complete/request_body/examples/example_basic.py diff --git a/12_fastapi_complete/request_body/exercise/exercise_01.py b/modules/12_fastapi_complete/request_body/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/request_body/exercise/exercise_01.py rename to modules/12_fastapi_complete/request_body/exercise/exercise_01.py diff --git a/12_fastapi_complete/request_body/references/links.md b/modules/12_fastapi_complete/request_body/references/links.md similarity index 100% rename from 12_fastapi_complete/request_body/references/links.md rename to modules/12_fastapi_complete/request_body/references/links.md diff --git a/12_fastapi_complete/request_body/tests/test_basic.py b/modules/12_fastapi_complete/request_body/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/request_body/tests/test_basic.py rename to modules/12_fastapi_complete/request_body/tests/test_basic.py diff --git a/12_fastapi_complete/response_models/README.md b/modules/12_fastapi_complete/response_models/README.md similarity index 100% rename from 12_fastapi_complete/response_models/README.md rename to modules/12_fastapi_complete/response_models/README.md diff --git a/12_fastapi_complete/response_models/examples/example_basic.py b/modules/12_fastapi_complete/response_models/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/response_models/examples/example_basic.py rename to modules/12_fastapi_complete/response_models/examples/example_basic.py diff --git a/12_fastapi_complete/response_models/exercise/exercise_01.py b/modules/12_fastapi_complete/response_models/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/response_models/exercise/exercise_01.py rename to modules/12_fastapi_complete/response_models/exercise/exercise_01.py diff --git a/12_fastapi_complete/response_models/references/links.md b/modules/12_fastapi_complete/response_models/references/links.md similarity index 100% rename from 12_fastapi_complete/response_models/references/links.md rename to modules/12_fastapi_complete/response_models/references/links.md diff --git a/12_fastapi_complete/response_models/tests/test_basic.py b/modules/12_fastapi_complete/response_models/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/response_models/tests/test_basic.py rename to modules/12_fastapi_complete/response_models/tests/test_basic.py diff --git a/12_fastapi_complete/routing/README.md b/modules/12_fastapi_complete/routing/README.md similarity index 100% rename from 12_fastapi_complete/routing/README.md rename to modules/12_fastapi_complete/routing/README.md diff --git a/12_fastapi_complete/routing/examples/example_basic.py b/modules/12_fastapi_complete/routing/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/routing/examples/example_basic.py rename to modules/12_fastapi_complete/routing/examples/example_basic.py diff --git a/12_fastapi_complete/routing/exercise/exercise_01.py b/modules/12_fastapi_complete/routing/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/routing/exercise/exercise_01.py rename to modules/12_fastapi_complete/routing/exercise/exercise_01.py diff --git a/12_fastapi_complete/routing/references/links.md b/modules/12_fastapi_complete/routing/references/links.md similarity index 100% rename from 12_fastapi_complete/routing/references/links.md rename to modules/12_fastapi_complete/routing/references/links.md diff --git a/12_fastapi_complete/routing/tests/test_basic.py b/modules/12_fastapi_complete/routing/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/routing/tests/test_basic.py rename to modules/12_fastapi_complete/routing/tests/test_basic.py diff --git a/12_fastapi_complete/security_best_practices/README.md b/modules/12_fastapi_complete/security_best_practices/README.md similarity index 100% rename from 12_fastapi_complete/security_best_practices/README.md rename to modules/12_fastapi_complete/security_best_practices/README.md diff --git a/12_fastapi_complete/security_best_practices/examples/example_basic.py b/modules/12_fastapi_complete/security_best_practices/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/security_best_practices/examples/example_basic.py rename to modules/12_fastapi_complete/security_best_practices/examples/example_basic.py diff --git a/12_fastapi_complete/security_best_practices/exercise/exercise_01.py b/modules/12_fastapi_complete/security_best_practices/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/security_best_practices/exercise/exercise_01.py rename to modules/12_fastapi_complete/security_best_practices/exercise/exercise_01.py diff --git a/12_fastapi_complete/security_best_practices/references/links.md b/modules/12_fastapi_complete/security_best_practices/references/links.md similarity index 100% rename from 12_fastapi_complete/security_best_practices/references/links.md rename to modules/12_fastapi_complete/security_best_practices/references/links.md diff --git a/12_fastapi_complete/security_best_practices/tests/test_basic.py b/modules/12_fastapi_complete/security_best_practices/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/security_best_practices/tests/test_basic.py rename to modules/12_fastapi_complete/security_best_practices/tests/test_basic.py diff --git a/12_fastapi_complete/sqlalchemy_integration/README.md b/modules/12_fastapi_complete/sqlalchemy_integration/README.md similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/README.md rename to modules/12_fastapi_complete/sqlalchemy_integration/README.md diff --git a/12_fastapi_complete/sqlalchemy_integration/examples/example_basic.py b/modules/12_fastapi_complete/sqlalchemy_integration/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/examples/example_basic.py rename to modules/12_fastapi_complete/sqlalchemy_integration/examples/example_basic.py diff --git a/12_fastapi_complete/sqlalchemy_integration/examples/library.db b/modules/12_fastapi_complete/sqlalchemy_integration/examples/library.db similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/examples/library.db rename to modules/12_fastapi_complete/sqlalchemy_integration/examples/library.db diff --git a/12_fastapi_complete/sqlalchemy_integration/exercise/exercise_01.py b/modules/12_fastapi_complete/sqlalchemy_integration/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/exercise/exercise_01.py rename to modules/12_fastapi_complete/sqlalchemy_integration/exercise/exercise_01.py diff --git a/12_fastapi_complete/sqlalchemy_integration/references/links.md b/modules/12_fastapi_complete/sqlalchemy_integration/references/links.md similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/references/links.md rename to modules/12_fastapi_complete/sqlalchemy_integration/references/links.md diff --git a/12_fastapi_complete/sqlalchemy_integration/tests/test_basic.py b/modules/12_fastapi_complete/sqlalchemy_integration/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/sqlalchemy_integration/tests/test_basic.py rename to modules/12_fastapi_complete/sqlalchemy_integration/tests/test_basic.py diff --git a/12_fastapi_complete/testing_fastapi/README.md b/modules/12_fastapi_complete/testing_fastapi/README.md similarity index 100% rename from 12_fastapi_complete/testing_fastapi/README.md rename to modules/12_fastapi_complete/testing_fastapi/README.md diff --git a/12_fastapi_complete/testing_fastapi/examples/example_basic.py b/modules/12_fastapi_complete/testing_fastapi/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/testing_fastapi/examples/example_basic.py rename to modules/12_fastapi_complete/testing_fastapi/examples/example_basic.py diff --git a/12_fastapi_complete/testing_fastapi/exercise/exercise_01.py b/modules/12_fastapi_complete/testing_fastapi/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/testing_fastapi/exercise/exercise_01.py rename to modules/12_fastapi_complete/testing_fastapi/exercise/exercise_01.py diff --git a/12_fastapi_complete/testing_fastapi/references/links.md b/modules/12_fastapi_complete/testing_fastapi/references/links.md similarity index 100% rename from 12_fastapi_complete/testing_fastapi/references/links.md rename to modules/12_fastapi_complete/testing_fastapi/references/links.md diff --git a/12_fastapi_complete/testing_fastapi/tests/test_basic.py b/modules/12_fastapi_complete/testing_fastapi/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/testing_fastapi/tests/test_basic.py rename to modules/12_fastapi_complete/testing_fastapi/tests/test_basic.py diff --git a/12_fastapi_complete/uvicorn_gunicorn/README.md b/modules/12_fastapi_complete/uvicorn_gunicorn/README.md similarity index 100% rename from 12_fastapi_complete/uvicorn_gunicorn/README.md rename to modules/12_fastapi_complete/uvicorn_gunicorn/README.md diff --git a/12_fastapi_complete/uvicorn_gunicorn/examples/example_basic.py b/modules/12_fastapi_complete/uvicorn_gunicorn/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/uvicorn_gunicorn/examples/example_basic.py rename to modules/12_fastapi_complete/uvicorn_gunicorn/examples/example_basic.py diff --git a/12_fastapi_complete/uvicorn_gunicorn/exercise/exercise_01.py b/modules/12_fastapi_complete/uvicorn_gunicorn/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/uvicorn_gunicorn/exercise/exercise_01.py rename to modules/12_fastapi_complete/uvicorn_gunicorn/exercise/exercise_01.py diff --git a/12_fastapi_complete/uvicorn_gunicorn/references/links.md b/modules/12_fastapi_complete/uvicorn_gunicorn/references/links.md similarity index 100% rename from 12_fastapi_complete/uvicorn_gunicorn/references/links.md rename to modules/12_fastapi_complete/uvicorn_gunicorn/references/links.md diff --git a/12_fastapi_complete/uvicorn_gunicorn/tests/test_basic.py b/modules/12_fastapi_complete/uvicorn_gunicorn/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/uvicorn_gunicorn/tests/test_basic.py rename to modules/12_fastapi_complete/uvicorn_gunicorn/tests/test_basic.py diff --git a/12_fastapi_complete/websockets/README.md b/modules/12_fastapi_complete/websockets/README.md similarity index 100% rename from 12_fastapi_complete/websockets/README.md rename to modules/12_fastapi_complete/websockets/README.md diff --git a/12_fastapi_complete/websockets/examples/example_basic.py b/modules/12_fastapi_complete/websockets/examples/example_basic.py similarity index 100% rename from 12_fastapi_complete/websockets/examples/example_basic.py rename to modules/12_fastapi_complete/websockets/examples/example_basic.py diff --git a/12_fastapi_complete/websockets/exercise/exercise_01.py b/modules/12_fastapi_complete/websockets/exercise/exercise_01.py similarity index 100% rename from 12_fastapi_complete/websockets/exercise/exercise_01.py rename to modules/12_fastapi_complete/websockets/exercise/exercise_01.py diff --git a/12_fastapi_complete/websockets/references/links.md b/modules/12_fastapi_complete/websockets/references/links.md similarity index 100% rename from 12_fastapi_complete/websockets/references/links.md rename to modules/12_fastapi_complete/websockets/references/links.md diff --git a/12_fastapi_complete/websockets/tests/test_basic.py b/modules/12_fastapi_complete/websockets/tests/test_basic.py similarity index 100% rename from 12_fastapi_complete/websockets/tests/test_basic.py rename to modules/12_fastapi_complete/websockets/tests/test_basic.py diff --git a/13_backend_ecosystem/README.md b/modules/13_backend_ecosystem/README.md similarity index 100% rename from 13_backend_ecosystem/README.md rename to modules/13_backend_ecosystem/README.md diff --git a/13_backend_ecosystem/api_versioning/README.md b/modules/13_backend_ecosystem/api_versioning/README.md similarity index 100% rename from 13_backend_ecosystem/api_versioning/README.md rename to modules/13_backend_ecosystem/api_versioning/README.md diff --git a/13_backend_ecosystem/api_versioning/examples/example_basic.py b/modules/13_backend_ecosystem/api_versioning/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/api_versioning/examples/example_basic.py rename to modules/13_backend_ecosystem/api_versioning/examples/example_basic.py diff --git a/13_backend_ecosystem/api_versioning/exercise/exercise_01.py b/modules/13_backend_ecosystem/api_versioning/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/api_versioning/exercise/exercise_01.py rename to modules/13_backend_ecosystem/api_versioning/exercise/exercise_01.py diff --git a/13_backend_ecosystem/api_versioning/references/links.md b/modules/13_backend_ecosystem/api_versioning/references/links.md similarity index 100% rename from 13_backend_ecosystem/api_versioning/references/links.md rename to modules/13_backend_ecosystem/api_versioning/references/links.md diff --git a/13_backend_ecosystem/api_versioning/tests/test_basic.py b/modules/13_backend_ecosystem/api_versioning/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/api_versioning/tests/test_basic.py rename to modules/13_backend_ecosystem/api_versioning/tests/test_basic.py diff --git a/13_backend_ecosystem/arq_async_tasks/README.md b/modules/13_backend_ecosystem/arq_async_tasks/README.md similarity index 100% rename from 13_backend_ecosystem/arq_async_tasks/README.md rename to modules/13_backend_ecosystem/arq_async_tasks/README.md diff --git a/13_backend_ecosystem/arq_async_tasks/examples/example_basic.py b/modules/13_backend_ecosystem/arq_async_tasks/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/arq_async_tasks/examples/example_basic.py rename to modules/13_backend_ecosystem/arq_async_tasks/examples/example_basic.py diff --git a/13_backend_ecosystem/arq_async_tasks/exercise/exercise_01.py b/modules/13_backend_ecosystem/arq_async_tasks/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/arq_async_tasks/exercise/exercise_01.py rename to modules/13_backend_ecosystem/arq_async_tasks/exercise/exercise_01.py diff --git a/13_backend_ecosystem/arq_async_tasks/references/links.md b/modules/13_backend_ecosystem/arq_async_tasks/references/links.md similarity index 100% rename from 13_backend_ecosystem/arq_async_tasks/references/links.md rename to modules/13_backend_ecosystem/arq_async_tasks/references/links.md diff --git a/13_backend_ecosystem/arq_async_tasks/tests/test_basic.py b/modules/13_backend_ecosystem/arq_async_tasks/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/arq_async_tasks/tests/test_basic.py rename to modules/13_backend_ecosystem/arq_async_tasks/tests/test_basic.py diff --git a/13_backend_ecosystem/celery_intro/README.md b/modules/13_backend_ecosystem/celery_intro/README.md similarity index 100% rename from 13_backend_ecosystem/celery_intro/README.md rename to modules/13_backend_ecosystem/celery_intro/README.md diff --git a/13_backend_ecosystem/celery_intro/examples/example_basic.py b/modules/13_backend_ecosystem/celery_intro/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/celery_intro/examples/example_basic.py rename to modules/13_backend_ecosystem/celery_intro/examples/example_basic.py diff --git a/13_backend_ecosystem/celery_intro/exercise/exercise_01.py b/modules/13_backend_ecosystem/celery_intro/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/celery_intro/exercise/exercise_01.py rename to modules/13_backend_ecosystem/celery_intro/exercise/exercise_01.py diff --git a/13_backend_ecosystem/celery_intro/references/links.md b/modules/13_backend_ecosystem/celery_intro/references/links.md similarity index 100% rename from 13_backend_ecosystem/celery_intro/references/links.md rename to modules/13_backend_ecosystem/celery_intro/references/links.md diff --git a/13_backend_ecosystem/celery_intro/tests/test_basic.py b/modules/13_backend_ecosystem/celery_intro/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/celery_intro/tests/test_basic.py rename to modules/13_backend_ecosystem/celery_intro/tests/test_basic.py diff --git a/13_backend_ecosystem/configuration_management/README.md b/modules/13_backend_ecosystem/configuration_management/README.md similarity index 100% rename from 13_backend_ecosystem/configuration_management/README.md rename to modules/13_backend_ecosystem/configuration_management/README.md diff --git a/13_backend_ecosystem/configuration_management/examples/example_basic.py b/modules/13_backend_ecosystem/configuration_management/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/configuration_management/examples/example_basic.py rename to modules/13_backend_ecosystem/configuration_management/examples/example_basic.py diff --git a/13_backend_ecosystem/configuration_management/exercise/exercise_01.py b/modules/13_backend_ecosystem/configuration_management/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/configuration_management/exercise/exercise_01.py rename to modules/13_backend_ecosystem/configuration_management/exercise/exercise_01.py diff --git a/13_backend_ecosystem/configuration_management/references/links.md b/modules/13_backend_ecosystem/configuration_management/references/links.md similarity index 100% rename from 13_backend_ecosystem/configuration_management/references/links.md rename to modules/13_backend_ecosystem/configuration_management/references/links.md diff --git a/13_backend_ecosystem/configuration_management/tests/test_basic.py b/modules/13_backend_ecosystem/configuration_management/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/configuration_management/tests/test_basic.py rename to modules/13_backend_ecosystem/configuration_management/tests/test_basic.py diff --git a/13_backend_ecosystem/elasticsearch_optional/README.md b/modules/13_backend_ecosystem/elasticsearch_optional/README.md similarity index 100% rename from 13_backend_ecosystem/elasticsearch_optional/README.md rename to modules/13_backend_ecosystem/elasticsearch_optional/README.md diff --git a/13_backend_ecosystem/elasticsearch_optional/examples/example_basic.py b/modules/13_backend_ecosystem/elasticsearch_optional/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/elasticsearch_optional/examples/example_basic.py rename to modules/13_backend_ecosystem/elasticsearch_optional/examples/example_basic.py diff --git a/13_backend_ecosystem/elasticsearch_optional/exercise/exercise_01.py b/modules/13_backend_ecosystem/elasticsearch_optional/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/elasticsearch_optional/exercise/exercise_01.py rename to modules/13_backend_ecosystem/elasticsearch_optional/exercise/exercise_01.py diff --git a/13_backend_ecosystem/elasticsearch_optional/references/links.md b/modules/13_backend_ecosystem/elasticsearch_optional/references/links.md similarity index 100% rename from 13_backend_ecosystem/elasticsearch_optional/references/links.md rename to modules/13_backend_ecosystem/elasticsearch_optional/references/links.md diff --git a/13_backend_ecosystem/elasticsearch_optional/tests/test_basic.py b/modules/13_backend_ecosystem/elasticsearch_optional/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/elasticsearch_optional/tests/test_basic.py rename to modules/13_backend_ecosystem/elasticsearch_optional/tests/test_basic.py diff --git a/13_backend_ecosystem/graphql_schemas_optional/README.md b/modules/13_backend_ecosystem/graphql_schemas_optional/README.md similarity index 100% rename from 13_backend_ecosystem/graphql_schemas_optional/README.md rename to modules/13_backend_ecosystem/graphql_schemas_optional/README.md diff --git a/13_backend_ecosystem/graphql_schemas_optional/examples/example_basic.py b/modules/13_backend_ecosystem/graphql_schemas_optional/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/graphql_schemas_optional/examples/example_basic.py rename to modules/13_backend_ecosystem/graphql_schemas_optional/examples/example_basic.py diff --git a/13_backend_ecosystem/graphql_schemas_optional/exercise/exercise_01.py b/modules/13_backend_ecosystem/graphql_schemas_optional/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/graphql_schemas_optional/exercise/exercise_01.py rename to modules/13_backend_ecosystem/graphql_schemas_optional/exercise/exercise_01.py diff --git a/13_backend_ecosystem/graphql_schemas_optional/references/links.md b/modules/13_backend_ecosystem/graphql_schemas_optional/references/links.md similarity index 100% rename from 13_backend_ecosystem/graphql_schemas_optional/references/links.md rename to modules/13_backend_ecosystem/graphql_schemas_optional/references/links.md diff --git a/13_backend_ecosystem/graphql_schemas_optional/tests/test_basic.py b/modules/13_backend_ecosystem/graphql_schemas_optional/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/graphql_schemas_optional/tests/test_basic.py rename to modules/13_backend_ecosystem/graphql_schemas_optional/tests/test_basic.py diff --git a/13_backend_ecosystem/grpc_intro/README.md b/modules/13_backend_ecosystem/grpc_intro/README.md similarity index 100% rename from 13_backend_ecosystem/grpc_intro/README.md rename to modules/13_backend_ecosystem/grpc_intro/README.md diff --git a/13_backend_ecosystem/grpc_intro/examples/example_basic.py b/modules/13_backend_ecosystem/grpc_intro/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/grpc_intro/examples/example_basic.py rename to modules/13_backend_ecosystem/grpc_intro/examples/example_basic.py diff --git a/13_backend_ecosystem/grpc_intro/exercise/exercise_01.py b/modules/13_backend_ecosystem/grpc_intro/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/grpc_intro/exercise/exercise_01.py rename to modules/13_backend_ecosystem/grpc_intro/exercise/exercise_01.py diff --git a/13_backend_ecosystem/grpc_intro/references/links.md b/modules/13_backend_ecosystem/grpc_intro/references/links.md similarity index 100% rename from 13_backend_ecosystem/grpc_intro/references/links.md rename to modules/13_backend_ecosystem/grpc_intro/references/links.md diff --git a/13_backend_ecosystem/grpc_intro/tests/test_basic.py b/modules/13_backend_ecosystem/grpc_intro/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/grpc_intro/tests/test_basic.py rename to modules/13_backend_ecosystem/grpc_intro/tests/test_basic.py diff --git a/13_backend_ecosystem/kafka_basics/README.md b/modules/13_backend_ecosystem/kafka_basics/README.md similarity index 100% rename from 13_backend_ecosystem/kafka_basics/README.md rename to modules/13_backend_ecosystem/kafka_basics/README.md diff --git a/13_backend_ecosystem/kafka_basics/examples/example_basic.py b/modules/13_backend_ecosystem/kafka_basics/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/kafka_basics/examples/example_basic.py rename to modules/13_backend_ecosystem/kafka_basics/examples/example_basic.py diff --git a/13_backend_ecosystem/kafka_basics/exercise/exercise_01.py b/modules/13_backend_ecosystem/kafka_basics/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/kafka_basics/exercise/exercise_01.py rename to modules/13_backend_ecosystem/kafka_basics/exercise/exercise_01.py diff --git a/13_backend_ecosystem/kafka_basics/references/links.md b/modules/13_backend_ecosystem/kafka_basics/references/links.md similarity index 100% rename from 13_backend_ecosystem/kafka_basics/references/links.md rename to modules/13_backend_ecosystem/kafka_basics/references/links.md diff --git a/13_backend_ecosystem/kafka_basics/tests/test_basic.py b/modules/13_backend_ecosystem/kafka_basics/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/kafka_basics/tests/test_basic.py rename to modules/13_backend_ecosystem/kafka_basics/tests/test_basic.py diff --git a/13_backend_ecosystem/opentelemetry/README.md b/modules/13_backend_ecosystem/opentelemetry/README.md similarity index 100% rename from 13_backend_ecosystem/opentelemetry/README.md rename to modules/13_backend_ecosystem/opentelemetry/README.md diff --git a/13_backend_ecosystem/opentelemetry/examples/example_basic.py b/modules/13_backend_ecosystem/opentelemetry/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/opentelemetry/examples/example_basic.py rename to modules/13_backend_ecosystem/opentelemetry/examples/example_basic.py diff --git a/13_backend_ecosystem/opentelemetry/exercise/exercise_01.py b/modules/13_backend_ecosystem/opentelemetry/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/opentelemetry/exercise/exercise_01.py rename to modules/13_backend_ecosystem/opentelemetry/exercise/exercise_01.py diff --git a/13_backend_ecosystem/opentelemetry/references/links.md b/modules/13_backend_ecosystem/opentelemetry/references/links.md similarity index 100% rename from 13_backend_ecosystem/opentelemetry/references/links.md rename to modules/13_backend_ecosystem/opentelemetry/references/links.md diff --git a/13_backend_ecosystem/opentelemetry/tests/test_basic.py b/modules/13_backend_ecosystem/opentelemetry/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/opentelemetry/tests/test_basic.py rename to modules/13_backend_ecosystem/opentelemetry/tests/test_basic.py diff --git a/13_backend_ecosystem/postgresql_advanced/README.md b/modules/13_backend_ecosystem/postgresql_advanced/README.md similarity index 100% rename from 13_backend_ecosystem/postgresql_advanced/README.md rename to modules/13_backend_ecosystem/postgresql_advanced/README.md diff --git a/13_backend_ecosystem/postgresql_advanced/examples/example_basic.py b/modules/13_backend_ecosystem/postgresql_advanced/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/postgresql_advanced/examples/example_basic.py rename to modules/13_backend_ecosystem/postgresql_advanced/examples/example_basic.py diff --git a/13_backend_ecosystem/postgresql_advanced/exercise/exercise_01.py b/modules/13_backend_ecosystem/postgresql_advanced/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/postgresql_advanced/exercise/exercise_01.py rename to modules/13_backend_ecosystem/postgresql_advanced/exercise/exercise_01.py diff --git a/13_backend_ecosystem/postgresql_advanced/references/links.md b/modules/13_backend_ecosystem/postgresql_advanced/references/links.md similarity index 100% rename from 13_backend_ecosystem/postgresql_advanced/references/links.md rename to modules/13_backend_ecosystem/postgresql_advanced/references/links.md diff --git a/13_backend_ecosystem/postgresql_advanced/tests/test_basic.py b/modules/13_backend_ecosystem/postgresql_advanced/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/postgresql_advanced/tests/test_basic.py rename to modules/13_backend_ecosystem/postgresql_advanced/tests/test_basic.py diff --git a/13_backend_ecosystem/prometheus_metrics/README.md b/modules/13_backend_ecosystem/prometheus_metrics/README.md similarity index 100% rename from 13_backend_ecosystem/prometheus_metrics/README.md rename to modules/13_backend_ecosystem/prometheus_metrics/README.md diff --git a/13_backend_ecosystem/prometheus_metrics/examples/example_basic.py b/modules/13_backend_ecosystem/prometheus_metrics/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/prometheus_metrics/examples/example_basic.py rename to modules/13_backend_ecosystem/prometheus_metrics/examples/example_basic.py diff --git a/13_backend_ecosystem/prometheus_metrics/exercise/exercise_01.py b/modules/13_backend_ecosystem/prometheus_metrics/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/prometheus_metrics/exercise/exercise_01.py rename to modules/13_backend_ecosystem/prometheus_metrics/exercise/exercise_01.py diff --git a/13_backend_ecosystem/prometheus_metrics/references/links.md b/modules/13_backend_ecosystem/prometheus_metrics/references/links.md similarity index 100% rename from 13_backend_ecosystem/prometheus_metrics/references/links.md rename to modules/13_backend_ecosystem/prometheus_metrics/references/links.md diff --git a/13_backend_ecosystem/prometheus_metrics/tests/test_basic.py b/modules/13_backend_ecosystem/prometheus_metrics/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/prometheus_metrics/tests/test_basic.py rename to modules/13_backend_ecosystem/prometheus_metrics/tests/test_basic.py diff --git a/13_backend_ecosystem/protobuf/README.md b/modules/13_backend_ecosystem/protobuf/README.md similarity index 100% rename from 13_backend_ecosystem/protobuf/README.md rename to modules/13_backend_ecosystem/protobuf/README.md diff --git a/13_backend_ecosystem/protobuf/examples/example_basic.py b/modules/13_backend_ecosystem/protobuf/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/protobuf/examples/example_basic.py rename to modules/13_backend_ecosystem/protobuf/examples/example_basic.py diff --git a/13_backend_ecosystem/protobuf/exercise/exercise_01.py b/modules/13_backend_ecosystem/protobuf/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/protobuf/exercise/exercise_01.py rename to modules/13_backend_ecosystem/protobuf/exercise/exercise_01.py diff --git a/13_backend_ecosystem/protobuf/references/links.md b/modules/13_backend_ecosystem/protobuf/references/links.md similarity index 100% rename from 13_backend_ecosystem/protobuf/references/links.md rename to modules/13_backend_ecosystem/protobuf/references/links.md diff --git a/13_backend_ecosystem/protobuf/tests/test_basic.py b/modules/13_backend_ecosystem/protobuf/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/protobuf/tests/test_basic.py rename to modules/13_backend_ecosystem/protobuf/tests/test_basic.py diff --git a/13_backend_ecosystem/rabbitmq_basics/README.md b/modules/13_backend_ecosystem/rabbitmq_basics/README.md similarity index 100% rename from 13_backend_ecosystem/rabbitmq_basics/README.md rename to modules/13_backend_ecosystem/rabbitmq_basics/README.md diff --git a/13_backend_ecosystem/rabbitmq_basics/examples/example_basic.py b/modules/13_backend_ecosystem/rabbitmq_basics/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/rabbitmq_basics/examples/example_basic.py rename to modules/13_backend_ecosystem/rabbitmq_basics/examples/example_basic.py diff --git a/13_backend_ecosystem/rabbitmq_basics/exercise/exercise_01.py b/modules/13_backend_ecosystem/rabbitmq_basics/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/rabbitmq_basics/exercise/exercise_01.py rename to modules/13_backend_ecosystem/rabbitmq_basics/exercise/exercise_01.py diff --git a/13_backend_ecosystem/rabbitmq_basics/references/links.md b/modules/13_backend_ecosystem/rabbitmq_basics/references/links.md similarity index 100% rename from 13_backend_ecosystem/rabbitmq_basics/references/links.md rename to modules/13_backend_ecosystem/rabbitmq_basics/references/links.md diff --git a/13_backend_ecosystem/rabbitmq_basics/tests/test_basic.py b/modules/13_backend_ecosystem/rabbitmq_basics/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/rabbitmq_basics/tests/test_basic.py rename to modules/13_backend_ecosystem/rabbitmq_basics/tests/test_basic.py diff --git a/13_backend_ecosystem/redis_basics/README.md b/modules/13_backend_ecosystem/redis_basics/README.md similarity index 100% rename from 13_backend_ecosystem/redis_basics/README.md rename to modules/13_backend_ecosystem/redis_basics/README.md diff --git a/13_backend_ecosystem/redis_basics/examples/example_basic.py b/modules/13_backend_ecosystem/redis_basics/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_basics/examples/example_basic.py rename to modules/13_backend_ecosystem/redis_basics/examples/example_basic.py diff --git a/13_backend_ecosystem/redis_basics/exercise/exercise_01.py b/modules/13_backend_ecosystem/redis_basics/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/redis_basics/exercise/exercise_01.py rename to modules/13_backend_ecosystem/redis_basics/exercise/exercise_01.py diff --git a/13_backend_ecosystem/redis_basics/references/links.md b/modules/13_backend_ecosystem/redis_basics/references/links.md similarity index 100% rename from 13_backend_ecosystem/redis_basics/references/links.md rename to modules/13_backend_ecosystem/redis_basics/references/links.md diff --git a/13_backend_ecosystem/redis_basics/tests/test_basic.py b/modules/13_backend_ecosystem/redis_basics/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_basics/tests/test_basic.py rename to modules/13_backend_ecosystem/redis_basics/tests/test_basic.py diff --git a/13_backend_ecosystem/redis_patterns/README.md b/modules/13_backend_ecosystem/redis_patterns/README.md similarity index 100% rename from 13_backend_ecosystem/redis_patterns/README.md rename to modules/13_backend_ecosystem/redis_patterns/README.md diff --git a/13_backend_ecosystem/redis_patterns/examples/example_basic.py b/modules/13_backend_ecosystem/redis_patterns/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_patterns/examples/example_basic.py rename to modules/13_backend_ecosystem/redis_patterns/examples/example_basic.py diff --git a/13_backend_ecosystem/redis_patterns/exercise/exercise_01.py b/modules/13_backend_ecosystem/redis_patterns/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/redis_patterns/exercise/exercise_01.py rename to modules/13_backend_ecosystem/redis_patterns/exercise/exercise_01.py diff --git a/13_backend_ecosystem/redis_patterns/references/links.md b/modules/13_backend_ecosystem/redis_patterns/references/links.md similarity index 100% rename from 13_backend_ecosystem/redis_patterns/references/links.md rename to modules/13_backend_ecosystem/redis_patterns/references/links.md diff --git a/13_backend_ecosystem/redis_patterns/tests/test_basic.py b/modules/13_backend_ecosystem/redis_patterns/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_patterns/tests/test_basic.py rename to modules/13_backend_ecosystem/redis_patterns/tests/test_basic.py diff --git a/13_backend_ecosystem/redis_pubsub/README.md b/modules/13_backend_ecosystem/redis_pubsub/README.md similarity index 100% rename from 13_backend_ecosystem/redis_pubsub/README.md rename to modules/13_backend_ecosystem/redis_pubsub/README.md diff --git a/13_backend_ecosystem/redis_pubsub/examples/example_basic.py b/modules/13_backend_ecosystem/redis_pubsub/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_pubsub/examples/example_basic.py rename to modules/13_backend_ecosystem/redis_pubsub/examples/example_basic.py diff --git a/13_backend_ecosystem/redis_pubsub/exercise/exercise_01.py b/modules/13_backend_ecosystem/redis_pubsub/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/redis_pubsub/exercise/exercise_01.py rename to modules/13_backend_ecosystem/redis_pubsub/exercise/exercise_01.py diff --git a/13_backend_ecosystem/redis_pubsub/references/links.md b/modules/13_backend_ecosystem/redis_pubsub/references/links.md similarity index 100% rename from 13_backend_ecosystem/redis_pubsub/references/links.md rename to modules/13_backend_ecosystem/redis_pubsub/references/links.md diff --git a/13_backend_ecosystem/redis_pubsub/tests/test_basic.py b/modules/13_backend_ecosystem/redis_pubsub/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/redis_pubsub/tests/test_basic.py rename to modules/13_backend_ecosystem/redis_pubsub/tests/test_basic.py diff --git a/13_backend_ecosystem/rest_api_design/README.md b/modules/13_backend_ecosystem/rest_api_design/README.md similarity index 100% rename from 13_backend_ecosystem/rest_api_design/README.md rename to modules/13_backend_ecosystem/rest_api_design/README.md diff --git a/13_backend_ecosystem/rest_api_design/examples/example_basic.py b/modules/13_backend_ecosystem/rest_api_design/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/rest_api_design/examples/example_basic.py rename to modules/13_backend_ecosystem/rest_api_design/examples/example_basic.py diff --git a/13_backend_ecosystem/rest_api_design/exercise/exercise_01.py b/modules/13_backend_ecosystem/rest_api_design/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/rest_api_design/exercise/exercise_01.py rename to modules/13_backend_ecosystem/rest_api_design/exercise/exercise_01.py diff --git a/13_backend_ecosystem/rest_api_design/references/links.md b/modules/13_backend_ecosystem/rest_api_design/references/links.md similarity index 100% rename from 13_backend_ecosystem/rest_api_design/references/links.md rename to modules/13_backend_ecosystem/rest_api_design/references/links.md diff --git a/13_backend_ecosystem/rest_api_design/tests/test_basic.py b/modules/13_backend_ecosystem/rest_api_design/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/rest_api_design/tests/test_basic.py rename to modules/13_backend_ecosystem/rest_api_design/tests/test_basic.py diff --git a/13_backend_ecosystem/sqlalchemy_2_intro/README.md b/modules/13_backend_ecosystem/sqlalchemy_2_intro/README.md similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_2_intro/README.md rename to modules/13_backend_ecosystem/sqlalchemy_2_intro/README.md diff --git a/13_backend_ecosystem/sqlalchemy_2_intro/examples/example_basic.py b/modules/13_backend_ecosystem/sqlalchemy_2_intro/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_2_intro/examples/example_basic.py rename to modules/13_backend_ecosystem/sqlalchemy_2_intro/examples/example_basic.py diff --git a/13_backend_ecosystem/sqlalchemy_2_intro/exercise/exercise_01.py b/modules/13_backend_ecosystem/sqlalchemy_2_intro/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_2_intro/exercise/exercise_01.py rename to modules/13_backend_ecosystem/sqlalchemy_2_intro/exercise/exercise_01.py diff --git a/13_backend_ecosystem/sqlalchemy_2_intro/references/links.md b/modules/13_backend_ecosystem/sqlalchemy_2_intro/references/links.md similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_2_intro/references/links.md rename to modules/13_backend_ecosystem/sqlalchemy_2_intro/references/links.md diff --git a/13_backend_ecosystem/sqlalchemy_2_intro/tests/test_basic.py b/modules/13_backend_ecosystem/sqlalchemy_2_intro/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_2_intro/tests/test_basic.py rename to modules/13_backend_ecosystem/sqlalchemy_2_intro/tests/test_basic.py diff --git a/13_backend_ecosystem/sqlalchemy_async/README.md b/modules/13_backend_ecosystem/sqlalchemy_async/README.md similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_async/README.md rename to modules/13_backend_ecosystem/sqlalchemy_async/README.md diff --git a/13_backend_ecosystem/sqlalchemy_async/examples/example_basic.py b/modules/13_backend_ecosystem/sqlalchemy_async/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_async/examples/example_basic.py rename to modules/13_backend_ecosystem/sqlalchemy_async/examples/example_basic.py diff --git a/13_backend_ecosystem/sqlalchemy_async/exercise/exercise_01.py b/modules/13_backend_ecosystem/sqlalchemy_async/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_async/exercise/exercise_01.py rename to modules/13_backend_ecosystem/sqlalchemy_async/exercise/exercise_01.py diff --git a/13_backend_ecosystem/sqlalchemy_async/references/links.md b/modules/13_backend_ecosystem/sqlalchemy_async/references/links.md similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_async/references/links.md rename to modules/13_backend_ecosystem/sqlalchemy_async/references/links.md diff --git a/13_backend_ecosystem/sqlalchemy_async/tests/test_basic.py b/modules/13_backend_ecosystem/sqlalchemy_async/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/sqlalchemy_async/tests/test_basic.py rename to modules/13_backend_ecosystem/sqlalchemy_async/tests/test_basic.py diff --git a/13_backend_ecosystem/structured_logging/README.md b/modules/13_backend_ecosystem/structured_logging/README.md similarity index 100% rename from 13_backend_ecosystem/structured_logging/README.md rename to modules/13_backend_ecosystem/structured_logging/README.md diff --git a/13_backend_ecosystem/structured_logging/examples/example_basic.py b/modules/13_backend_ecosystem/structured_logging/examples/example_basic.py similarity index 100% rename from 13_backend_ecosystem/structured_logging/examples/example_basic.py rename to modules/13_backend_ecosystem/structured_logging/examples/example_basic.py diff --git a/13_backend_ecosystem/structured_logging/exercise/exercise_01.py b/modules/13_backend_ecosystem/structured_logging/exercise/exercise_01.py similarity index 100% rename from 13_backend_ecosystem/structured_logging/exercise/exercise_01.py rename to modules/13_backend_ecosystem/structured_logging/exercise/exercise_01.py diff --git a/13_backend_ecosystem/structured_logging/references/links.md b/modules/13_backend_ecosystem/structured_logging/references/links.md similarity index 100% rename from 13_backend_ecosystem/structured_logging/references/links.md rename to modules/13_backend_ecosystem/structured_logging/references/links.md diff --git a/13_backend_ecosystem/structured_logging/tests/test_basic.py b/modules/13_backend_ecosystem/structured_logging/tests/test_basic.py similarity index 100% rename from 13_backend_ecosystem/structured_logging/tests/test_basic.py rename to modules/13_backend_ecosystem/structured_logging/tests/test_basic.py diff --git a/14_advanced_python_2026/01_pyo3_introduction/README.md b/modules/14_advanced_python_2026/01_pyo3_introduction/README.md similarity index 100% rename from 14_advanced_python_2026/01_pyo3_introduction/README.md rename to modules/14_advanced_python_2026/01_pyo3_introduction/README.md diff --git a/14_advanced_python_2026/01_pyo3_introduction/examples/example_basic.py b/modules/14_advanced_python_2026/01_pyo3_introduction/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/01_pyo3_introduction/examples/example_basic.py rename to modules/14_advanced_python_2026/01_pyo3_introduction/examples/example_basic.py diff --git a/14_advanced_python_2026/01_pyo3_introduction/exercise/exercise_01.py b/modules/14_advanced_python_2026/01_pyo3_introduction/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/01_pyo3_introduction/exercise/exercise_01.py rename to modules/14_advanced_python_2026/01_pyo3_introduction/exercise/exercise_01.py diff --git a/14_advanced_python_2026/01_pyo3_introduction/references/links.md b/modules/14_advanced_python_2026/01_pyo3_introduction/references/links.md similarity index 100% rename from 14_advanced_python_2026/01_pyo3_introduction/references/links.md rename to modules/14_advanced_python_2026/01_pyo3_introduction/references/links.md diff --git a/14_advanced_python_2026/01_pyo3_introduction/tests/test_basic.py b/modules/14_advanced_python_2026/01_pyo3_introduction/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/01_pyo3_introduction/tests/test_basic.py rename to modules/14_advanced_python_2026/01_pyo3_introduction/tests/test_basic.py diff --git a/14_advanced_python_2026/02_rust_toolchain_maturin/README.md b/modules/14_advanced_python_2026/02_rust_toolchain_maturin/README.md similarity index 100% rename from 14_advanced_python_2026/02_rust_toolchain_maturin/README.md rename to modules/14_advanced_python_2026/02_rust_toolchain_maturin/README.md diff --git a/14_advanced_python_2026/02_rust_toolchain_maturin/examples/example_basic.py b/modules/14_advanced_python_2026/02_rust_toolchain_maturin/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/02_rust_toolchain_maturin/examples/example_basic.py rename to modules/14_advanced_python_2026/02_rust_toolchain_maturin/examples/example_basic.py diff --git a/14_advanced_python_2026/02_rust_toolchain_maturin/exercise/exercise_01.py b/modules/14_advanced_python_2026/02_rust_toolchain_maturin/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/02_rust_toolchain_maturin/exercise/exercise_01.py rename to modules/14_advanced_python_2026/02_rust_toolchain_maturin/exercise/exercise_01.py diff --git a/14_advanced_python_2026/02_rust_toolchain_maturin/references/links.md b/modules/14_advanced_python_2026/02_rust_toolchain_maturin/references/links.md similarity index 100% rename from 14_advanced_python_2026/02_rust_toolchain_maturin/references/links.md rename to modules/14_advanced_python_2026/02_rust_toolchain_maturin/references/links.md diff --git a/14_advanced_python_2026/02_rust_toolchain_maturin/tests/test_basic.py b/modules/14_advanced_python_2026/02_rust_toolchain_maturin/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/02_rust_toolchain_maturin/tests/test_basic.py rename to modules/14_advanced_python_2026/02_rust_toolchain_maturin/tests/test_basic.py diff --git a/14_advanced_python_2026/03_first_rust_python_module/README.md b/modules/14_advanced_python_2026/03_first_rust_python_module/README.md similarity index 100% rename from 14_advanced_python_2026/03_first_rust_python_module/README.md rename to modules/14_advanced_python_2026/03_first_rust_python_module/README.md diff --git a/14_advanced_python_2026/03_first_rust_python_module/examples/example_basic.py b/modules/14_advanced_python_2026/03_first_rust_python_module/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/03_first_rust_python_module/examples/example_basic.py rename to modules/14_advanced_python_2026/03_first_rust_python_module/examples/example_basic.py diff --git a/14_advanced_python_2026/03_first_rust_python_module/exercise/exercise_01.py b/modules/14_advanced_python_2026/03_first_rust_python_module/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/03_first_rust_python_module/exercise/exercise_01.py rename to modules/14_advanced_python_2026/03_first_rust_python_module/exercise/exercise_01.py diff --git a/14_advanced_python_2026/03_first_rust_python_module/references/links.md b/modules/14_advanced_python_2026/03_first_rust_python_module/references/links.md similarity index 100% rename from 14_advanced_python_2026/03_first_rust_python_module/references/links.md rename to modules/14_advanced_python_2026/03_first_rust_python_module/references/links.md diff --git a/14_advanced_python_2026/03_first_rust_python_module/tests/test_basic.py b/modules/14_advanced_python_2026/03_first_rust_python_module/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/03_first_rust_python_module/tests/test_basic.py rename to modules/14_advanced_python_2026/03_first_rust_python_module/tests/test_basic.py diff --git a/14_advanced_python_2026/04_python_types_in_rust/README.md b/modules/14_advanced_python_2026/04_python_types_in_rust/README.md similarity index 100% rename from 14_advanced_python_2026/04_python_types_in_rust/README.md rename to modules/14_advanced_python_2026/04_python_types_in_rust/README.md diff --git a/14_advanced_python_2026/04_python_types_in_rust/examples/example_basic.py b/modules/14_advanced_python_2026/04_python_types_in_rust/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/04_python_types_in_rust/examples/example_basic.py rename to modules/14_advanced_python_2026/04_python_types_in_rust/examples/example_basic.py diff --git a/14_advanced_python_2026/04_python_types_in_rust/exercise/exercise_01.py b/modules/14_advanced_python_2026/04_python_types_in_rust/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/04_python_types_in_rust/exercise/exercise_01.py rename to modules/14_advanced_python_2026/04_python_types_in_rust/exercise/exercise_01.py diff --git a/14_advanced_python_2026/04_python_types_in_rust/references/links.md b/modules/14_advanced_python_2026/04_python_types_in_rust/references/links.md similarity index 100% rename from 14_advanced_python_2026/04_python_types_in_rust/references/links.md rename to modules/14_advanced_python_2026/04_python_types_in_rust/references/links.md diff --git a/14_advanced_python_2026/04_python_types_in_rust/tests/test_basic.py b/modules/14_advanced_python_2026/04_python_types_in_rust/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/04_python_types_in_rust/tests/test_basic.py rename to modules/14_advanced_python_2026/04_python_types_in_rust/tests/test_basic.py diff --git a/14_advanced_python_2026/05_error_handling_pyresult/README.md b/modules/14_advanced_python_2026/05_error_handling_pyresult/README.md similarity index 100% rename from 14_advanced_python_2026/05_error_handling_pyresult/README.md rename to modules/14_advanced_python_2026/05_error_handling_pyresult/README.md diff --git a/14_advanced_python_2026/05_error_handling_pyresult/examples/example_basic.py b/modules/14_advanced_python_2026/05_error_handling_pyresult/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/05_error_handling_pyresult/examples/example_basic.py rename to modules/14_advanced_python_2026/05_error_handling_pyresult/examples/example_basic.py diff --git a/14_advanced_python_2026/05_error_handling_pyresult/exercise/exercise_01.py b/modules/14_advanced_python_2026/05_error_handling_pyresult/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/05_error_handling_pyresult/exercise/exercise_01.py rename to modules/14_advanced_python_2026/05_error_handling_pyresult/exercise/exercise_01.py diff --git a/14_advanced_python_2026/05_error_handling_pyresult/references/links.md b/modules/14_advanced_python_2026/05_error_handling_pyresult/references/links.md similarity index 100% rename from 14_advanced_python_2026/05_error_handling_pyresult/references/links.md rename to modules/14_advanced_python_2026/05_error_handling_pyresult/references/links.md diff --git a/14_advanced_python_2026/05_error_handling_pyresult/tests/test_basic.py b/modules/14_advanced_python_2026/05_error_handling_pyresult/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/05_error_handling_pyresult/tests/test_basic.py rename to modules/14_advanced_python_2026/05_error_handling_pyresult/tests/test_basic.py diff --git a/14_advanced_python_2026/06_automatic_conversions/README.md b/modules/14_advanced_python_2026/06_automatic_conversions/README.md similarity index 100% rename from 14_advanced_python_2026/06_automatic_conversions/README.md rename to modules/14_advanced_python_2026/06_automatic_conversions/README.md diff --git a/14_advanced_python_2026/06_automatic_conversions/examples/example_basic.py b/modules/14_advanced_python_2026/06_automatic_conversions/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/06_automatic_conversions/examples/example_basic.py rename to modules/14_advanced_python_2026/06_automatic_conversions/examples/example_basic.py diff --git a/14_advanced_python_2026/06_automatic_conversions/exercise/exercise_01.py b/modules/14_advanced_python_2026/06_automatic_conversions/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/06_automatic_conversions/exercise/exercise_01.py rename to modules/14_advanced_python_2026/06_automatic_conversions/exercise/exercise_01.py diff --git a/14_advanced_python_2026/06_automatic_conversions/references/links.md b/modules/14_advanced_python_2026/06_automatic_conversions/references/links.md similarity index 100% rename from 14_advanced_python_2026/06_automatic_conversions/references/links.md rename to modules/14_advanced_python_2026/06_automatic_conversions/references/links.md diff --git a/14_advanced_python_2026/06_automatic_conversions/tests/test_basic.py b/modules/14_advanced_python_2026/06_automatic_conversions/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/06_automatic_conversions/tests/test_basic.py rename to modules/14_advanced_python_2026/06_automatic_conversions/tests/test_basic.py diff --git a/14_advanced_python_2026/07_python_classes_in_rust/README.md b/modules/14_advanced_python_2026/07_python_classes_in_rust/README.md similarity index 100% rename from 14_advanced_python_2026/07_python_classes_in_rust/README.md rename to modules/14_advanced_python_2026/07_python_classes_in_rust/README.md diff --git a/14_advanced_python_2026/07_python_classes_in_rust/examples/example_basic.py b/modules/14_advanced_python_2026/07_python_classes_in_rust/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/07_python_classes_in_rust/examples/example_basic.py rename to modules/14_advanced_python_2026/07_python_classes_in_rust/examples/example_basic.py diff --git a/14_advanced_python_2026/07_python_classes_in_rust/exercise/exercise_01.py b/modules/14_advanced_python_2026/07_python_classes_in_rust/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/07_python_classes_in_rust/exercise/exercise_01.py rename to modules/14_advanced_python_2026/07_python_classes_in_rust/exercise/exercise_01.py diff --git a/14_advanced_python_2026/07_python_classes_in_rust/references/links.md b/modules/14_advanced_python_2026/07_python_classes_in_rust/references/links.md similarity index 100% rename from 14_advanced_python_2026/07_python_classes_in_rust/references/links.md rename to modules/14_advanced_python_2026/07_python_classes_in_rust/references/links.md diff --git a/14_advanced_python_2026/07_python_classes_in_rust/tests/test_basic.py b/modules/14_advanced_python_2026/07_python_classes_in_rust/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/07_python_classes_in_rust/tests/test_basic.py rename to modules/14_advanced_python_2026/07_python_classes_in_rust/tests/test_basic.py diff --git a/14_advanced_python_2026/08_pymethods/README.md b/modules/14_advanced_python_2026/08_pymethods/README.md similarity index 100% rename from 14_advanced_python_2026/08_pymethods/README.md rename to modules/14_advanced_python_2026/08_pymethods/README.md diff --git a/14_advanced_python_2026/08_pymethods/examples/example_basic.py b/modules/14_advanced_python_2026/08_pymethods/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/08_pymethods/examples/example_basic.py rename to modules/14_advanced_python_2026/08_pymethods/examples/example_basic.py diff --git a/14_advanced_python_2026/08_pymethods/exercise/exercise_01.py b/modules/14_advanced_python_2026/08_pymethods/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/08_pymethods/exercise/exercise_01.py rename to modules/14_advanced_python_2026/08_pymethods/exercise/exercise_01.py diff --git a/14_advanced_python_2026/08_pymethods/references/links.md b/modules/14_advanced_python_2026/08_pymethods/references/links.md similarity index 100% rename from 14_advanced_python_2026/08_pymethods/references/links.md rename to modules/14_advanced_python_2026/08_pymethods/references/links.md diff --git a/14_advanced_python_2026/08_pymethods/tests/test_basic.py b/modules/14_advanced_python_2026/08_pymethods/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/08_pymethods/tests/test_basic.py rename to modules/14_advanced_python_2026/08_pymethods/tests/test_basic.py diff --git a/14_advanced_python_2026/09_properties_rust/README.md b/modules/14_advanced_python_2026/09_properties_rust/README.md similarity index 100% rename from 14_advanced_python_2026/09_properties_rust/README.md rename to modules/14_advanced_python_2026/09_properties_rust/README.md diff --git a/14_advanced_python_2026/09_properties_rust/examples/example_basic.py b/modules/14_advanced_python_2026/09_properties_rust/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/09_properties_rust/examples/example_basic.py rename to modules/14_advanced_python_2026/09_properties_rust/examples/example_basic.py diff --git a/14_advanced_python_2026/09_properties_rust/exercise/exercise_01.py b/modules/14_advanced_python_2026/09_properties_rust/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/09_properties_rust/exercise/exercise_01.py rename to modules/14_advanced_python_2026/09_properties_rust/exercise/exercise_01.py diff --git a/14_advanced_python_2026/09_properties_rust/references/links.md b/modules/14_advanced_python_2026/09_properties_rust/references/links.md similarity index 100% rename from 14_advanced_python_2026/09_properties_rust/references/links.md rename to modules/14_advanced_python_2026/09_properties_rust/references/links.md diff --git a/14_advanced_python_2026/09_properties_rust/tests/test_basic.py b/modules/14_advanced_python_2026/09_properties_rust/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/09_properties_rust/tests/test_basic.py rename to modules/14_advanced_python_2026/09_properties_rust/tests/test_basic.py diff --git a/14_advanced_python_2026/10_static_class_methods/README.md b/modules/14_advanced_python_2026/10_static_class_methods/README.md similarity index 100% rename from 14_advanced_python_2026/10_static_class_methods/README.md rename to modules/14_advanced_python_2026/10_static_class_methods/README.md diff --git a/14_advanced_python_2026/10_static_class_methods/examples/example_basic.py b/modules/14_advanced_python_2026/10_static_class_methods/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/10_static_class_methods/examples/example_basic.py rename to modules/14_advanced_python_2026/10_static_class_methods/examples/example_basic.py diff --git a/14_advanced_python_2026/10_static_class_methods/exercise/exercise_01.py b/modules/14_advanced_python_2026/10_static_class_methods/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/10_static_class_methods/exercise/exercise_01.py rename to modules/14_advanced_python_2026/10_static_class_methods/exercise/exercise_01.py diff --git a/14_advanced_python_2026/10_static_class_methods/references/links.md b/modules/14_advanced_python_2026/10_static_class_methods/references/links.md similarity index 100% rename from 14_advanced_python_2026/10_static_class_methods/references/links.md rename to modules/14_advanced_python_2026/10_static_class_methods/references/links.md diff --git a/14_advanced_python_2026/10_static_class_methods/tests/test_basic.py b/modules/14_advanced_python_2026/10_static_class_methods/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/10_static_class_methods/tests/test_basic.py rename to modules/14_advanced_python_2026/10_static_class_methods/tests/test_basic.py diff --git a/14_advanced_python_2026/11_operator_overloading/README.md b/modules/14_advanced_python_2026/11_operator_overloading/README.md similarity index 100% rename from 14_advanced_python_2026/11_operator_overloading/README.md rename to modules/14_advanced_python_2026/11_operator_overloading/README.md diff --git a/14_advanced_python_2026/11_operator_overloading/examples/example_basic.py b/modules/14_advanced_python_2026/11_operator_overloading/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/11_operator_overloading/examples/example_basic.py rename to modules/14_advanced_python_2026/11_operator_overloading/examples/example_basic.py diff --git a/14_advanced_python_2026/11_operator_overloading/exercise/exercise_01.py b/modules/14_advanced_python_2026/11_operator_overloading/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/11_operator_overloading/exercise/exercise_01.py rename to modules/14_advanced_python_2026/11_operator_overloading/exercise/exercise_01.py diff --git a/14_advanced_python_2026/11_operator_overloading/references/links.md b/modules/14_advanced_python_2026/11_operator_overloading/references/links.md similarity index 100% rename from 14_advanced_python_2026/11_operator_overloading/references/links.md rename to modules/14_advanced_python_2026/11_operator_overloading/references/links.md diff --git a/14_advanced_python_2026/11_operator_overloading/tests/test_basic.py b/modules/14_advanced_python_2026/11_operator_overloading/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/11_operator_overloading/tests/test_basic.py rename to modules/14_advanced_python_2026/11_operator_overloading/tests/test_basic.py diff --git a/14_advanced_python_2026/12_python_modules/README.md b/modules/14_advanced_python_2026/12_python_modules/README.md similarity index 100% rename from 14_advanced_python_2026/12_python_modules/README.md rename to modules/14_advanced_python_2026/12_python_modules/README.md diff --git a/14_advanced_python_2026/12_python_modules/examples/example_basic.py b/modules/14_advanced_python_2026/12_python_modules/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/12_python_modules/examples/example_basic.py rename to modules/14_advanced_python_2026/12_python_modules/examples/example_basic.py diff --git a/14_advanced_python_2026/12_python_modules/exercise/exercise_01.py b/modules/14_advanced_python_2026/12_python_modules/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/12_python_modules/exercise/exercise_01.py rename to modules/14_advanced_python_2026/12_python_modules/exercise/exercise_01.py diff --git a/14_advanced_python_2026/12_python_modules/references/links.md b/modules/14_advanced_python_2026/12_python_modules/references/links.md similarity index 100% rename from 14_advanced_python_2026/12_python_modules/references/links.md rename to modules/14_advanced_python_2026/12_python_modules/references/links.md diff --git a/14_advanced_python_2026/12_python_modules/tests/test_basic.py b/modules/14_advanced_python_2026/12_python_modules/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/12_python_modules/tests/test_basic.py rename to modules/14_advanced_python_2026/12_python_modules/tests/test_basic.py diff --git a/14_advanced_python_2026/13_gil_management/README.md b/modules/14_advanced_python_2026/13_gil_management/README.md similarity index 100% rename from 14_advanced_python_2026/13_gil_management/README.md rename to modules/14_advanced_python_2026/13_gil_management/README.md diff --git a/14_advanced_python_2026/13_gil_management/examples/example_basic.py b/modules/14_advanced_python_2026/13_gil_management/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/13_gil_management/examples/example_basic.py rename to modules/14_advanced_python_2026/13_gil_management/examples/example_basic.py diff --git a/14_advanced_python_2026/13_gil_management/exercise/exercise_01.py b/modules/14_advanced_python_2026/13_gil_management/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/13_gil_management/exercise/exercise_01.py rename to modules/14_advanced_python_2026/13_gil_management/exercise/exercise_01.py diff --git a/14_advanced_python_2026/13_gil_management/references/links.md b/modules/14_advanced_python_2026/13_gil_management/references/links.md similarity index 100% rename from 14_advanced_python_2026/13_gil_management/references/links.md rename to modules/14_advanced_python_2026/13_gil_management/references/links.md diff --git a/14_advanced_python_2026/13_gil_management/tests/test_basic.py b/modules/14_advanced_python_2026/13_gil_management/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/13_gil_management/tests/test_basic.py rename to modules/14_advanced_python_2026/13_gil_management/tests/test_basic.py diff --git a/14_advanced_python_2026/14_shared_mutable_state/README.md b/modules/14_advanced_python_2026/14_shared_mutable_state/README.md similarity index 100% rename from 14_advanced_python_2026/14_shared_mutable_state/README.md rename to modules/14_advanced_python_2026/14_shared_mutable_state/README.md diff --git a/14_advanced_python_2026/14_shared_mutable_state/examples/example_basic.py b/modules/14_advanced_python_2026/14_shared_mutable_state/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/14_shared_mutable_state/examples/example_basic.py rename to modules/14_advanced_python_2026/14_shared_mutable_state/examples/example_basic.py diff --git a/14_advanced_python_2026/14_shared_mutable_state/exercise/exercise_01.py b/modules/14_advanced_python_2026/14_shared_mutable_state/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/14_shared_mutable_state/exercise/exercise_01.py rename to modules/14_advanced_python_2026/14_shared_mutable_state/exercise/exercise_01.py diff --git a/14_advanced_python_2026/14_shared_mutable_state/references/links.md b/modules/14_advanced_python_2026/14_shared_mutable_state/references/links.md similarity index 100% rename from 14_advanced_python_2026/14_shared_mutable_state/references/links.md rename to modules/14_advanced_python_2026/14_shared_mutable_state/references/links.md diff --git a/14_advanced_python_2026/14_shared_mutable_state/tests/test_basic.py b/modules/14_advanced_python_2026/14_shared_mutable_state/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/14_shared_mutable_state/tests/test_basic.py rename to modules/14_advanced_python_2026/14_shared_mutable_state/tests/test_basic.py diff --git a/14_advanced_python_2026/15_async_rust_pyo3/README.md b/modules/14_advanced_python_2026/15_async_rust_pyo3/README.md similarity index 100% rename from 14_advanced_python_2026/15_async_rust_pyo3/README.md rename to modules/14_advanced_python_2026/15_async_rust_pyo3/README.md diff --git a/14_advanced_python_2026/15_async_rust_pyo3/examples/example_basic.py b/modules/14_advanced_python_2026/15_async_rust_pyo3/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/15_async_rust_pyo3/examples/example_basic.py rename to modules/14_advanced_python_2026/15_async_rust_pyo3/examples/example_basic.py diff --git a/14_advanced_python_2026/15_async_rust_pyo3/exercise/exercise_01.py b/modules/14_advanced_python_2026/15_async_rust_pyo3/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/15_async_rust_pyo3/exercise/exercise_01.py rename to modules/14_advanced_python_2026/15_async_rust_pyo3/exercise/exercise_01.py diff --git a/14_advanced_python_2026/15_async_rust_pyo3/references/links.md b/modules/14_advanced_python_2026/15_async_rust_pyo3/references/links.md similarity index 100% rename from 14_advanced_python_2026/15_async_rust_pyo3/references/links.md rename to modules/14_advanced_python_2026/15_async_rust_pyo3/references/links.md diff --git a/14_advanced_python_2026/15_async_rust_pyo3/tests/test_basic.py b/modules/14_advanced_python_2026/15_async_rust_pyo3/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/15_async_rust_pyo3/tests/test_basic.py rename to modules/14_advanced_python_2026/15_async_rust_pyo3/tests/test_basic.py diff --git a/14_advanced_python_2026/16_numpy_arrays_zerocopy/README.md b/modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/README.md similarity index 100% rename from 14_advanced_python_2026/16_numpy_arrays_zerocopy/README.md rename to modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/README.md diff --git a/14_advanced_python_2026/16_numpy_arrays_zerocopy/examples/example_basic.py b/modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/16_numpy_arrays_zerocopy/examples/example_basic.py rename to modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/examples/example_basic.py diff --git a/14_advanced_python_2026/16_numpy_arrays_zerocopy/exercise/exercise_01.py b/modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/16_numpy_arrays_zerocopy/exercise/exercise_01.py rename to modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/exercise/exercise_01.py diff --git a/14_advanced_python_2026/16_numpy_arrays_zerocopy/references/links.md b/modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/references/links.md similarity index 100% rename from 14_advanced_python_2026/16_numpy_arrays_zerocopy/references/links.md rename to modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/references/links.md diff --git a/14_advanced_python_2026/16_numpy_arrays_zerocopy/tests/test_basic.py b/modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/16_numpy_arrays_zerocopy/tests/test_basic.py rename to modules/14_advanced_python_2026/16_numpy_arrays_zerocopy/tests/test_basic.py diff --git a/14_advanced_python_2026/17_python_callbacks_from_rust/README.md b/modules/14_advanced_python_2026/17_python_callbacks_from_rust/README.md similarity index 100% rename from 14_advanced_python_2026/17_python_callbacks_from_rust/README.md rename to modules/14_advanced_python_2026/17_python_callbacks_from_rust/README.md diff --git a/14_advanced_python_2026/17_python_callbacks_from_rust/examples/example_basic.py b/modules/14_advanced_python_2026/17_python_callbacks_from_rust/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/17_python_callbacks_from_rust/examples/example_basic.py rename to modules/14_advanced_python_2026/17_python_callbacks_from_rust/examples/example_basic.py diff --git a/14_advanced_python_2026/17_python_callbacks_from_rust/exercise/exercise_01.py b/modules/14_advanced_python_2026/17_python_callbacks_from_rust/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/17_python_callbacks_from_rust/exercise/exercise_01.py rename to modules/14_advanced_python_2026/17_python_callbacks_from_rust/exercise/exercise_01.py diff --git a/14_advanced_python_2026/17_python_callbacks_from_rust/references/links.md b/modules/14_advanced_python_2026/17_python_callbacks_from_rust/references/links.md similarity index 100% rename from 14_advanced_python_2026/17_python_callbacks_from_rust/references/links.md rename to modules/14_advanced_python_2026/17_python_callbacks_from_rust/references/links.md diff --git a/14_advanced_python_2026/17_python_callbacks_from_rust/tests/test_basic.py b/modules/14_advanced_python_2026/17_python_callbacks_from_rust/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/17_python_callbacks_from_rust/tests/test_basic.py rename to modules/14_advanced_python_2026/17_python_callbacks_from_rust/tests/test_basic.py diff --git a/14_advanced_python_2026/18_performance_optimization/README.md b/modules/14_advanced_python_2026/18_performance_optimization/README.md similarity index 100% rename from 14_advanced_python_2026/18_performance_optimization/README.md rename to modules/14_advanced_python_2026/18_performance_optimization/README.md diff --git a/14_advanced_python_2026/18_performance_optimization/examples/example_basic.py b/modules/14_advanced_python_2026/18_performance_optimization/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/18_performance_optimization/examples/example_basic.py rename to modules/14_advanced_python_2026/18_performance_optimization/examples/example_basic.py diff --git a/14_advanced_python_2026/18_performance_optimization/exercise/exercise_01.py b/modules/14_advanced_python_2026/18_performance_optimization/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/18_performance_optimization/exercise/exercise_01.py rename to modules/14_advanced_python_2026/18_performance_optimization/exercise/exercise_01.py diff --git a/14_advanced_python_2026/18_performance_optimization/references/links.md b/modules/14_advanced_python_2026/18_performance_optimization/references/links.md similarity index 100% rename from 14_advanced_python_2026/18_performance_optimization/references/links.md rename to modules/14_advanced_python_2026/18_performance_optimization/references/links.md diff --git a/14_advanced_python_2026/18_performance_optimization/tests/test_basic.py b/modules/14_advanced_python_2026/18_performance_optimization/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/18_performance_optimization/tests/test_basic.py rename to modules/14_advanced_python_2026/18_performance_optimization/tests/test_basic.py diff --git a/14_advanced_python_2026/19_high_performance_parser/README.md b/modules/14_advanced_python_2026/19_high_performance_parser/README.md similarity index 100% rename from 14_advanced_python_2026/19_high_performance_parser/README.md rename to modules/14_advanced_python_2026/19_high_performance_parser/README.md diff --git a/14_advanced_python_2026/19_high_performance_parser/examples/example_basic.py b/modules/14_advanced_python_2026/19_high_performance_parser/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/19_high_performance_parser/examples/example_basic.py rename to modules/14_advanced_python_2026/19_high_performance_parser/examples/example_basic.py diff --git a/14_advanced_python_2026/19_high_performance_parser/exercise/exercise_01.py b/modules/14_advanced_python_2026/19_high_performance_parser/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/19_high_performance_parser/exercise/exercise_01.py rename to modules/14_advanced_python_2026/19_high_performance_parser/exercise/exercise_01.py diff --git a/14_advanced_python_2026/19_high_performance_parser/references/links.md b/modules/14_advanced_python_2026/19_high_performance_parser/references/links.md similarity index 100% rename from 14_advanced_python_2026/19_high_performance_parser/references/links.md rename to modules/14_advanced_python_2026/19_high_performance_parser/references/links.md diff --git a/14_advanced_python_2026/19_high_performance_parser/tests/test_basic.py b/modules/14_advanced_python_2026/19_high_performance_parser/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/19_high_performance_parser/tests/test_basic.py rename to modules/14_advanced_python_2026/19_high_performance_parser/tests/test_basic.py diff --git a/14_advanced_python_2026/20_image_processing/README.md b/modules/14_advanced_python_2026/20_image_processing/README.md similarity index 100% rename from 14_advanced_python_2026/20_image_processing/README.md rename to modules/14_advanced_python_2026/20_image_processing/README.md diff --git a/14_advanced_python_2026/20_image_processing/examples/example_basic.py b/modules/14_advanced_python_2026/20_image_processing/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/20_image_processing/examples/example_basic.py rename to modules/14_advanced_python_2026/20_image_processing/examples/example_basic.py diff --git a/14_advanced_python_2026/20_image_processing/exercise/exercise_01.py b/modules/14_advanced_python_2026/20_image_processing/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/20_image_processing/exercise/exercise_01.py rename to modules/14_advanced_python_2026/20_image_processing/exercise/exercise_01.py diff --git a/14_advanced_python_2026/20_image_processing/references/links.md b/modules/14_advanced_python_2026/20_image_processing/references/links.md similarity index 100% rename from 14_advanced_python_2026/20_image_processing/references/links.md rename to modules/14_advanced_python_2026/20_image_processing/references/links.md diff --git a/14_advanced_python_2026/20_image_processing/tests/test_basic.py b/modules/14_advanced_python_2026/20_image_processing/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/20_image_processing/tests/test_basic.py rename to modules/14_advanced_python_2026/20_image_processing/tests/test_basic.py diff --git a/14_advanced_python_2026/21_cryptography_hashing/README.md b/modules/14_advanced_python_2026/21_cryptography_hashing/README.md similarity index 100% rename from 14_advanced_python_2026/21_cryptography_hashing/README.md rename to modules/14_advanced_python_2026/21_cryptography_hashing/README.md diff --git a/14_advanced_python_2026/21_cryptography_hashing/examples/example_basic.py b/modules/14_advanced_python_2026/21_cryptography_hashing/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/21_cryptography_hashing/examples/example_basic.py rename to modules/14_advanced_python_2026/21_cryptography_hashing/examples/example_basic.py diff --git a/14_advanced_python_2026/21_cryptography_hashing/exercise/exercise_01.py b/modules/14_advanced_python_2026/21_cryptography_hashing/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/21_cryptography_hashing/exercise/exercise_01.py rename to modules/14_advanced_python_2026/21_cryptography_hashing/exercise/exercise_01.py diff --git a/14_advanced_python_2026/21_cryptography_hashing/references/links.md b/modules/14_advanced_python_2026/21_cryptography_hashing/references/links.md similarity index 100% rename from 14_advanced_python_2026/21_cryptography_hashing/references/links.md rename to modules/14_advanced_python_2026/21_cryptography_hashing/references/links.md diff --git a/14_advanced_python_2026/21_cryptography_hashing/tests/test_basic.py b/modules/14_advanced_python_2026/21_cryptography_hashing/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/21_cryptography_hashing/tests/test_basic.py rename to modules/14_advanced_python_2026/21_cryptography_hashing/tests/test_basic.py diff --git a/14_advanced_python_2026/22_parallel_data_processing/README.md b/modules/14_advanced_python_2026/22_parallel_data_processing/README.md similarity index 100% rename from 14_advanced_python_2026/22_parallel_data_processing/README.md rename to modules/14_advanced_python_2026/22_parallel_data_processing/README.md diff --git a/14_advanced_python_2026/22_parallel_data_processing/examples/example_basic.py b/modules/14_advanced_python_2026/22_parallel_data_processing/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/22_parallel_data_processing/examples/example_basic.py rename to modules/14_advanced_python_2026/22_parallel_data_processing/examples/example_basic.py diff --git a/14_advanced_python_2026/22_parallel_data_processing/exercise/exercise_01.py b/modules/14_advanced_python_2026/22_parallel_data_processing/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/22_parallel_data_processing/exercise/exercise_01.py rename to modules/14_advanced_python_2026/22_parallel_data_processing/exercise/exercise_01.py diff --git a/14_advanced_python_2026/22_parallel_data_processing/references/links.md b/modules/14_advanced_python_2026/22_parallel_data_processing/references/links.md similarity index 100% rename from 14_advanced_python_2026/22_parallel_data_processing/references/links.md rename to modules/14_advanced_python_2026/22_parallel_data_processing/references/links.md diff --git a/14_advanced_python_2026/22_parallel_data_processing/tests/test_basic.py b/modules/14_advanced_python_2026/22_parallel_data_processing/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/22_parallel_data_processing/tests/test_basic.py rename to modules/14_advanced_python_2026/22_parallel_data_processing/tests/test_basic.py diff --git a/14_advanced_python_2026/23_embeddings_vector_stores/README.md b/modules/14_advanced_python_2026/23_embeddings_vector_stores/README.md similarity index 100% rename from 14_advanced_python_2026/23_embeddings_vector_stores/README.md rename to modules/14_advanced_python_2026/23_embeddings_vector_stores/README.md diff --git a/14_advanced_python_2026/23_embeddings_vector_stores/examples/example_basic.py b/modules/14_advanced_python_2026/23_embeddings_vector_stores/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/23_embeddings_vector_stores/examples/example_basic.py rename to modules/14_advanced_python_2026/23_embeddings_vector_stores/examples/example_basic.py diff --git a/14_advanced_python_2026/23_embeddings_vector_stores/exercise/exercise_01.py b/modules/14_advanced_python_2026/23_embeddings_vector_stores/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/23_embeddings_vector_stores/exercise/exercise_01.py rename to modules/14_advanced_python_2026/23_embeddings_vector_stores/exercise/exercise_01.py diff --git a/14_advanced_python_2026/23_embeddings_vector_stores/references/links.md b/modules/14_advanced_python_2026/23_embeddings_vector_stores/references/links.md similarity index 100% rename from 14_advanced_python_2026/23_embeddings_vector_stores/references/links.md rename to modules/14_advanced_python_2026/23_embeddings_vector_stores/references/links.md diff --git a/14_advanced_python_2026/23_embeddings_vector_stores/tests/test_basic.py b/modules/14_advanced_python_2026/23_embeddings_vector_stores/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/23_embeddings_vector_stores/tests/test_basic.py rename to modules/14_advanced_python_2026/23_embeddings_vector_stores/tests/test_basic.py diff --git a/14_advanced_python_2026/24_streaming_llm_responses/README.md b/modules/14_advanced_python_2026/24_streaming_llm_responses/README.md similarity index 100% rename from 14_advanced_python_2026/24_streaming_llm_responses/README.md rename to modules/14_advanced_python_2026/24_streaming_llm_responses/README.md diff --git a/14_advanced_python_2026/24_streaming_llm_responses/examples/example_basic.py b/modules/14_advanced_python_2026/24_streaming_llm_responses/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/24_streaming_llm_responses/examples/example_basic.py rename to modules/14_advanced_python_2026/24_streaming_llm_responses/examples/example_basic.py diff --git a/14_advanced_python_2026/24_streaming_llm_responses/exercise/exercise_01.py b/modules/14_advanced_python_2026/24_streaming_llm_responses/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/24_streaming_llm_responses/exercise/exercise_01.py rename to modules/14_advanced_python_2026/24_streaming_llm_responses/exercise/exercise_01.py diff --git a/14_advanced_python_2026/24_streaming_llm_responses/references/links.md b/modules/14_advanced_python_2026/24_streaming_llm_responses/references/links.md similarity index 100% rename from 14_advanced_python_2026/24_streaming_llm_responses/references/links.md rename to modules/14_advanced_python_2026/24_streaming_llm_responses/references/links.md diff --git a/14_advanced_python_2026/24_streaming_llm_responses/tests/test_basic.py b/modules/14_advanced_python_2026/24_streaming_llm_responses/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/24_streaming_llm_responses/tests/test_basic.py rename to modules/14_advanced_python_2026/24_streaming_llm_responses/tests/test_basic.py diff --git a/14_advanced_python_2026/25_structured_output_pydantic/README.md b/modules/14_advanced_python_2026/25_structured_output_pydantic/README.md similarity index 100% rename from 14_advanced_python_2026/25_structured_output_pydantic/README.md rename to modules/14_advanced_python_2026/25_structured_output_pydantic/README.md diff --git a/14_advanced_python_2026/25_structured_output_pydantic/examples/example_basic.py b/modules/14_advanced_python_2026/25_structured_output_pydantic/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/25_structured_output_pydantic/examples/example_basic.py rename to modules/14_advanced_python_2026/25_structured_output_pydantic/examples/example_basic.py diff --git a/14_advanced_python_2026/25_structured_output_pydantic/exercise/exercise_01.py b/modules/14_advanced_python_2026/25_structured_output_pydantic/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/25_structured_output_pydantic/exercise/exercise_01.py rename to modules/14_advanced_python_2026/25_structured_output_pydantic/exercise/exercise_01.py diff --git a/14_advanced_python_2026/25_structured_output_pydantic/references/links.md b/modules/14_advanced_python_2026/25_structured_output_pydantic/references/links.md similarity index 100% rename from 14_advanced_python_2026/25_structured_output_pydantic/references/links.md rename to modules/14_advanced_python_2026/25_structured_output_pydantic/references/links.md diff --git a/14_advanced_python_2026/25_structured_output_pydantic/tests/test_basic.py b/modules/14_advanced_python_2026/25_structured_output_pydantic/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/25_structured_output_pydantic/tests/test_basic.py rename to modules/14_advanced_python_2026/25_structured_output_pydantic/tests/test_basic.py diff --git a/14_advanced_python_2026/26_code_prompt_engineering/README.md b/modules/14_advanced_python_2026/26_code_prompt_engineering/README.md similarity index 100% rename from 14_advanced_python_2026/26_code_prompt_engineering/README.md rename to modules/14_advanced_python_2026/26_code_prompt_engineering/README.md diff --git a/14_advanced_python_2026/26_code_prompt_engineering/examples/example_basic.py b/modules/14_advanced_python_2026/26_code_prompt_engineering/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/26_code_prompt_engineering/examples/example_basic.py rename to modules/14_advanced_python_2026/26_code_prompt_engineering/examples/example_basic.py diff --git a/14_advanced_python_2026/26_code_prompt_engineering/exercise/exercise_01.py b/modules/14_advanced_python_2026/26_code_prompt_engineering/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/26_code_prompt_engineering/exercise/exercise_01.py rename to modules/14_advanced_python_2026/26_code_prompt_engineering/exercise/exercise_01.py diff --git a/14_advanced_python_2026/26_code_prompt_engineering/references/links.md b/modules/14_advanced_python_2026/26_code_prompt_engineering/references/links.md similarity index 100% rename from 14_advanced_python_2026/26_code_prompt_engineering/references/links.md rename to modules/14_advanced_python_2026/26_code_prompt_engineering/references/links.md diff --git a/14_advanced_python_2026/26_code_prompt_engineering/tests/test_basic.py b/modules/14_advanced_python_2026/26_code_prompt_engineering/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/26_code_prompt_engineering/tests/test_basic.py rename to modules/14_advanced_python_2026/26_code_prompt_engineering/tests/test_basic.py diff --git a/14_advanced_python_2026/27_function_calling_tools/README.md b/modules/14_advanced_python_2026/27_function_calling_tools/README.md similarity index 100% rename from 14_advanced_python_2026/27_function_calling_tools/README.md rename to modules/14_advanced_python_2026/27_function_calling_tools/README.md diff --git a/14_advanced_python_2026/27_function_calling_tools/examples/example_basic.py b/modules/14_advanced_python_2026/27_function_calling_tools/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/27_function_calling_tools/examples/example_basic.py rename to modules/14_advanced_python_2026/27_function_calling_tools/examples/example_basic.py diff --git a/14_advanced_python_2026/27_function_calling_tools/exercise/exercise_01.py b/modules/14_advanced_python_2026/27_function_calling_tools/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/27_function_calling_tools/exercise/exercise_01.py rename to modules/14_advanced_python_2026/27_function_calling_tools/exercise/exercise_01.py diff --git a/14_advanced_python_2026/27_function_calling_tools/references/links.md b/modules/14_advanced_python_2026/27_function_calling_tools/references/links.md similarity index 100% rename from 14_advanced_python_2026/27_function_calling_tools/references/links.md rename to modules/14_advanced_python_2026/27_function_calling_tools/references/links.md diff --git a/14_advanced_python_2026/27_function_calling_tools/tests/test_basic.py b/modules/14_advanced_python_2026/27_function_calling_tools/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/27_function_calling_tools/tests/test_basic.py rename to modules/14_advanced_python_2026/27_function_calling_tools/tests/test_basic.py diff --git a/14_advanced_python_2026/28_langchain_basics/README.md b/modules/14_advanced_python_2026/28_langchain_basics/README.md similarity index 100% rename from 14_advanced_python_2026/28_langchain_basics/README.md rename to modules/14_advanced_python_2026/28_langchain_basics/README.md diff --git a/14_advanced_python_2026/28_langchain_basics/examples/example_basic.py b/modules/14_advanced_python_2026/28_langchain_basics/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/28_langchain_basics/examples/example_basic.py rename to modules/14_advanced_python_2026/28_langchain_basics/examples/example_basic.py diff --git a/14_advanced_python_2026/28_langchain_basics/exercise/exercise_01.py b/modules/14_advanced_python_2026/28_langchain_basics/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/28_langchain_basics/exercise/exercise_01.py rename to modules/14_advanced_python_2026/28_langchain_basics/exercise/exercise_01.py diff --git a/14_advanced_python_2026/28_langchain_basics/references/links.md b/modules/14_advanced_python_2026/28_langchain_basics/references/links.md similarity index 100% rename from 14_advanced_python_2026/28_langchain_basics/references/links.md rename to modules/14_advanced_python_2026/28_langchain_basics/references/links.md diff --git a/14_advanced_python_2026/28_langchain_basics/tests/test_basic.py b/modules/14_advanced_python_2026/28_langchain_basics/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/28_langchain_basics/tests/test_basic.py rename to modules/14_advanced_python_2026/28_langchain_basics/tests/test_basic.py diff --git a/14_advanced_python_2026/29_langchain_chains/README.md b/modules/14_advanced_python_2026/29_langchain_chains/README.md similarity index 100% rename from 14_advanced_python_2026/29_langchain_chains/README.md rename to modules/14_advanced_python_2026/29_langchain_chains/README.md diff --git a/14_advanced_python_2026/29_langchain_chains/examples/example_basic.py b/modules/14_advanced_python_2026/29_langchain_chains/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/29_langchain_chains/examples/example_basic.py rename to modules/14_advanced_python_2026/29_langchain_chains/examples/example_basic.py diff --git a/14_advanced_python_2026/29_langchain_chains/exercise/exercise_01.py b/modules/14_advanced_python_2026/29_langchain_chains/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/29_langchain_chains/exercise/exercise_01.py rename to modules/14_advanced_python_2026/29_langchain_chains/exercise/exercise_01.py diff --git a/14_advanced_python_2026/29_langchain_chains/references/links.md b/modules/14_advanced_python_2026/29_langchain_chains/references/links.md similarity index 100% rename from 14_advanced_python_2026/29_langchain_chains/references/links.md rename to modules/14_advanced_python_2026/29_langchain_chains/references/links.md diff --git a/14_advanced_python_2026/29_langchain_chains/tests/test_basic.py b/modules/14_advanced_python_2026/29_langchain_chains/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/29_langchain_chains/tests/test_basic.py rename to modules/14_advanced_python_2026/29_langchain_chains/tests/test_basic.py diff --git a/14_advanced_python_2026/30_rag_retrieval_augmented/README.md b/modules/14_advanced_python_2026/30_rag_retrieval_augmented/README.md similarity index 100% rename from 14_advanced_python_2026/30_rag_retrieval_augmented/README.md rename to modules/14_advanced_python_2026/30_rag_retrieval_augmented/README.md diff --git a/14_advanced_python_2026/30_rag_retrieval_augmented/examples/example_basic.py b/modules/14_advanced_python_2026/30_rag_retrieval_augmented/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/30_rag_retrieval_augmented/examples/example_basic.py rename to modules/14_advanced_python_2026/30_rag_retrieval_augmented/examples/example_basic.py diff --git a/14_advanced_python_2026/30_rag_retrieval_augmented/exercise/exercise_01.py b/modules/14_advanced_python_2026/30_rag_retrieval_augmented/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/30_rag_retrieval_augmented/exercise/exercise_01.py rename to modules/14_advanced_python_2026/30_rag_retrieval_augmented/exercise/exercise_01.py diff --git a/14_advanced_python_2026/30_rag_retrieval_augmented/references/links.md b/modules/14_advanced_python_2026/30_rag_retrieval_augmented/references/links.md similarity index 100% rename from 14_advanced_python_2026/30_rag_retrieval_augmented/references/links.md rename to modules/14_advanced_python_2026/30_rag_retrieval_augmented/references/links.md diff --git a/14_advanced_python_2026/30_rag_retrieval_augmented/tests/test_basic.py b/modules/14_advanced_python_2026/30_rag_retrieval_augmented/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/30_rag_retrieval_augmented/tests/test_basic.py rename to modules/14_advanced_python_2026/30_rag_retrieval_augmented/tests/test_basic.py diff --git a/14_advanced_python_2026/31_memory_systems/README.md b/modules/14_advanced_python_2026/31_memory_systems/README.md similarity index 100% rename from 14_advanced_python_2026/31_memory_systems/README.md rename to modules/14_advanced_python_2026/31_memory_systems/README.md diff --git a/14_advanced_python_2026/31_memory_systems/examples/example_basic.py b/modules/14_advanced_python_2026/31_memory_systems/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/31_memory_systems/examples/example_basic.py rename to modules/14_advanced_python_2026/31_memory_systems/examples/example_basic.py diff --git a/14_advanced_python_2026/31_memory_systems/exercise/exercise_01.py b/modules/14_advanced_python_2026/31_memory_systems/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/31_memory_systems/exercise/exercise_01.py rename to modules/14_advanced_python_2026/31_memory_systems/exercise/exercise_01.py diff --git a/14_advanced_python_2026/31_memory_systems/references/links.md b/modules/14_advanced_python_2026/31_memory_systems/references/links.md similarity index 100% rename from 14_advanced_python_2026/31_memory_systems/references/links.md rename to modules/14_advanced_python_2026/31_memory_systems/references/links.md diff --git a/14_advanced_python_2026/31_memory_systems/tests/test_basic.py b/modules/14_advanced_python_2026/31_memory_systems/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/31_memory_systems/tests/test_basic.py rename to modules/14_advanced_python_2026/31_memory_systems/tests/test_basic.py diff --git a/14_advanced_python_2026/32_document_loaders/README.md b/modules/14_advanced_python_2026/32_document_loaders/README.md similarity index 100% rename from 14_advanced_python_2026/32_document_loaders/README.md rename to modules/14_advanced_python_2026/32_document_loaders/README.md diff --git a/14_advanced_python_2026/32_document_loaders/examples/example_basic.py b/modules/14_advanced_python_2026/32_document_loaders/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/32_document_loaders/examples/example_basic.py rename to modules/14_advanced_python_2026/32_document_loaders/examples/example_basic.py diff --git a/14_advanced_python_2026/32_document_loaders/exercise/exercise_01.py b/modules/14_advanced_python_2026/32_document_loaders/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/32_document_loaders/exercise/exercise_01.py rename to modules/14_advanced_python_2026/32_document_loaders/exercise/exercise_01.py diff --git a/14_advanced_python_2026/32_document_loaders/references/links.md b/modules/14_advanced_python_2026/32_document_loaders/references/links.md similarity index 100% rename from 14_advanced_python_2026/32_document_loaders/references/links.md rename to modules/14_advanced_python_2026/32_document_loaders/references/links.md diff --git a/14_advanced_python_2026/32_document_loaders/tests/test_basic.py b/modules/14_advanced_python_2026/32_document_loaders/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/32_document_loaders/tests/test_basic.py rename to modules/14_advanced_python_2026/32_document_loaders/tests/test_basic.py diff --git a/14_advanced_python_2026/33_text_splitters/README.md b/modules/14_advanced_python_2026/33_text_splitters/README.md similarity index 100% rename from 14_advanced_python_2026/33_text_splitters/README.md rename to modules/14_advanced_python_2026/33_text_splitters/README.md diff --git a/14_advanced_python_2026/33_text_splitters/examples/example_basic.py b/modules/14_advanced_python_2026/33_text_splitters/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/33_text_splitters/examples/example_basic.py rename to modules/14_advanced_python_2026/33_text_splitters/examples/example_basic.py diff --git a/14_advanced_python_2026/33_text_splitters/exercise/exercise_01.py b/modules/14_advanced_python_2026/33_text_splitters/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/33_text_splitters/exercise/exercise_01.py rename to modules/14_advanced_python_2026/33_text_splitters/exercise/exercise_01.py diff --git a/14_advanced_python_2026/33_text_splitters/references/links.md b/modules/14_advanced_python_2026/33_text_splitters/references/links.md similarity index 100% rename from 14_advanced_python_2026/33_text_splitters/references/links.md rename to modules/14_advanced_python_2026/33_text_splitters/references/links.md diff --git a/14_advanced_python_2026/33_text_splitters/tests/test_basic.py b/modules/14_advanced_python_2026/33_text_splitters/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/33_text_splitters/tests/test_basic.py rename to modules/14_advanced_python_2026/33_text_splitters/tests/test_basic.py diff --git a/14_advanced_python_2026/34_vector_stores_chromadb/README.md b/modules/14_advanced_python_2026/34_vector_stores_chromadb/README.md similarity index 100% rename from 14_advanced_python_2026/34_vector_stores_chromadb/README.md rename to modules/14_advanced_python_2026/34_vector_stores_chromadb/README.md diff --git a/14_advanced_python_2026/34_vector_stores_chromadb/examples/example_basic.py b/modules/14_advanced_python_2026/34_vector_stores_chromadb/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/34_vector_stores_chromadb/examples/example_basic.py rename to modules/14_advanced_python_2026/34_vector_stores_chromadb/examples/example_basic.py diff --git a/14_advanced_python_2026/34_vector_stores_chromadb/exercise/exercise_01.py b/modules/14_advanced_python_2026/34_vector_stores_chromadb/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/34_vector_stores_chromadb/exercise/exercise_01.py rename to modules/14_advanced_python_2026/34_vector_stores_chromadb/exercise/exercise_01.py diff --git a/14_advanced_python_2026/34_vector_stores_chromadb/references/links.md b/modules/14_advanced_python_2026/34_vector_stores_chromadb/references/links.md similarity index 100% rename from 14_advanced_python_2026/34_vector_stores_chromadb/references/links.md rename to modules/14_advanced_python_2026/34_vector_stores_chromadb/references/links.md diff --git a/14_advanced_python_2026/34_vector_stores_chromadb/tests/test_basic.py b/modules/14_advanced_python_2026/34_vector_stores_chromadb/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/34_vector_stores_chromadb/tests/test_basic.py rename to modules/14_advanced_python_2026/34_vector_stores_chromadb/tests/test_basic.py diff --git a/14_advanced_python_2026/35_langgraph_intro/README.md b/modules/14_advanced_python_2026/35_langgraph_intro/README.md similarity index 100% rename from 14_advanced_python_2026/35_langgraph_intro/README.md rename to modules/14_advanced_python_2026/35_langgraph_intro/README.md diff --git a/14_advanced_python_2026/35_langgraph_intro/examples/example_basic.py b/modules/14_advanced_python_2026/35_langgraph_intro/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/35_langgraph_intro/examples/example_basic.py rename to modules/14_advanced_python_2026/35_langgraph_intro/examples/example_basic.py diff --git a/14_advanced_python_2026/35_langgraph_intro/exercise/exercise_01.py b/modules/14_advanced_python_2026/35_langgraph_intro/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/35_langgraph_intro/exercise/exercise_01.py rename to modules/14_advanced_python_2026/35_langgraph_intro/exercise/exercise_01.py diff --git a/14_advanced_python_2026/35_langgraph_intro/references/links.md b/modules/14_advanced_python_2026/35_langgraph_intro/references/links.md similarity index 100% rename from 14_advanced_python_2026/35_langgraph_intro/references/links.md rename to modules/14_advanced_python_2026/35_langgraph_intro/references/links.md diff --git a/14_advanced_python_2026/35_langgraph_intro/tests/test_basic.py b/modules/14_advanced_python_2026/35_langgraph_intro/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/35_langgraph_intro/tests/test_basic.py rename to modules/14_advanced_python_2026/35_langgraph_intro/tests/test_basic.py diff --git a/14_advanced_python_2026/36_graphs_vs_chains/README.md b/modules/14_advanced_python_2026/36_graphs_vs_chains/README.md similarity index 100% rename from 14_advanced_python_2026/36_graphs_vs_chains/README.md rename to modules/14_advanced_python_2026/36_graphs_vs_chains/README.md diff --git a/14_advanced_python_2026/36_graphs_vs_chains/examples/example_basic.py b/modules/14_advanced_python_2026/36_graphs_vs_chains/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/36_graphs_vs_chains/examples/example_basic.py rename to modules/14_advanced_python_2026/36_graphs_vs_chains/examples/example_basic.py diff --git a/14_advanced_python_2026/36_graphs_vs_chains/exercise/exercise_01.py b/modules/14_advanced_python_2026/36_graphs_vs_chains/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/36_graphs_vs_chains/exercise/exercise_01.py rename to modules/14_advanced_python_2026/36_graphs_vs_chains/exercise/exercise_01.py diff --git a/14_advanced_python_2026/36_graphs_vs_chains/references/links.md b/modules/14_advanced_python_2026/36_graphs_vs_chains/references/links.md similarity index 100% rename from 14_advanced_python_2026/36_graphs_vs_chains/references/links.md rename to modules/14_advanced_python_2026/36_graphs_vs_chains/references/links.md diff --git a/14_advanced_python_2026/36_graphs_vs_chains/tests/test_basic.py b/modules/14_advanced_python_2026/36_graphs_vs_chains/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/36_graphs_vs_chains/tests/test_basic.py rename to modules/14_advanced_python_2026/36_graphs_vs_chains/tests/test_basic.py diff --git a/14_advanced_python_2026/37_nodes_edges/README.md b/modules/14_advanced_python_2026/37_nodes_edges/README.md similarity index 100% rename from 14_advanced_python_2026/37_nodes_edges/README.md rename to modules/14_advanced_python_2026/37_nodes_edges/README.md diff --git a/14_advanced_python_2026/37_nodes_edges/examples/example_basic.py b/modules/14_advanced_python_2026/37_nodes_edges/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/37_nodes_edges/examples/example_basic.py rename to modules/14_advanced_python_2026/37_nodes_edges/examples/example_basic.py diff --git a/14_advanced_python_2026/37_nodes_edges/exercise/exercise_01.py b/modules/14_advanced_python_2026/37_nodes_edges/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/37_nodes_edges/exercise/exercise_01.py rename to modules/14_advanced_python_2026/37_nodes_edges/exercise/exercise_01.py diff --git a/14_advanced_python_2026/37_nodes_edges/references/links.md b/modules/14_advanced_python_2026/37_nodes_edges/references/links.md similarity index 100% rename from 14_advanced_python_2026/37_nodes_edges/references/links.md rename to modules/14_advanced_python_2026/37_nodes_edges/references/links.md diff --git a/14_advanced_python_2026/37_nodes_edges/tests/test_basic.py b/modules/14_advanced_python_2026/37_nodes_edges/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/37_nodes_edges/tests/test_basic.py rename to modules/14_advanced_python_2026/37_nodes_edges/tests/test_basic.py diff --git a/14_advanced_python_2026/38_state_management/README.md b/modules/14_advanced_python_2026/38_state_management/README.md similarity index 100% rename from 14_advanced_python_2026/38_state_management/README.md rename to modules/14_advanced_python_2026/38_state_management/README.md diff --git a/14_advanced_python_2026/38_state_management/examples/example_basic.py b/modules/14_advanced_python_2026/38_state_management/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/38_state_management/examples/example_basic.py rename to modules/14_advanced_python_2026/38_state_management/examples/example_basic.py diff --git a/14_advanced_python_2026/38_state_management/exercise/exercise_01.py b/modules/14_advanced_python_2026/38_state_management/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/38_state_management/exercise/exercise_01.py rename to modules/14_advanced_python_2026/38_state_management/exercise/exercise_01.py diff --git a/14_advanced_python_2026/38_state_management/references/links.md b/modules/14_advanced_python_2026/38_state_management/references/links.md similarity index 100% rename from 14_advanced_python_2026/38_state_management/references/links.md rename to modules/14_advanced_python_2026/38_state_management/references/links.md diff --git a/14_advanced_python_2026/38_state_management/tests/test_basic.py b/modules/14_advanced_python_2026/38_state_management/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/38_state_management/tests/test_basic.py rename to modules/14_advanced_python_2026/38_state_management/tests/test_basic.py diff --git a/14_advanced_python_2026/39_conditional_routing/README.md b/modules/14_advanced_python_2026/39_conditional_routing/README.md similarity index 100% rename from 14_advanced_python_2026/39_conditional_routing/README.md rename to modules/14_advanced_python_2026/39_conditional_routing/README.md diff --git a/14_advanced_python_2026/39_conditional_routing/examples/example_basic.py b/modules/14_advanced_python_2026/39_conditional_routing/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/39_conditional_routing/examples/example_basic.py rename to modules/14_advanced_python_2026/39_conditional_routing/examples/example_basic.py diff --git a/14_advanced_python_2026/39_conditional_routing/exercise/exercise_01.py b/modules/14_advanced_python_2026/39_conditional_routing/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/39_conditional_routing/exercise/exercise_01.py rename to modules/14_advanced_python_2026/39_conditional_routing/exercise/exercise_01.py diff --git a/14_advanced_python_2026/39_conditional_routing/references/links.md b/modules/14_advanced_python_2026/39_conditional_routing/references/links.md similarity index 100% rename from 14_advanced_python_2026/39_conditional_routing/references/links.md rename to modules/14_advanced_python_2026/39_conditional_routing/references/links.md diff --git a/14_advanced_python_2026/39_conditional_routing/tests/test_basic.py b/modules/14_advanced_python_2026/39_conditional_routing/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/39_conditional_routing/tests/test_basic.py rename to modules/14_advanced_python_2026/39_conditional_routing/tests/test_basic.py diff --git a/14_advanced_python_2026/40_human_in_loop/README.md b/modules/14_advanced_python_2026/40_human_in_loop/README.md similarity index 100% rename from 14_advanced_python_2026/40_human_in_loop/README.md rename to modules/14_advanced_python_2026/40_human_in_loop/README.md diff --git a/14_advanced_python_2026/40_human_in_loop/examples/example_basic.py b/modules/14_advanced_python_2026/40_human_in_loop/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/40_human_in_loop/examples/example_basic.py rename to modules/14_advanced_python_2026/40_human_in_loop/examples/example_basic.py diff --git a/14_advanced_python_2026/40_human_in_loop/exercise/exercise_01.py b/modules/14_advanced_python_2026/40_human_in_loop/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/40_human_in_loop/exercise/exercise_01.py rename to modules/14_advanced_python_2026/40_human_in_loop/exercise/exercise_01.py diff --git a/14_advanced_python_2026/40_human_in_loop/references/links.md b/modules/14_advanced_python_2026/40_human_in_loop/references/links.md similarity index 100% rename from 14_advanced_python_2026/40_human_in_loop/references/links.md rename to modules/14_advanced_python_2026/40_human_in_loop/references/links.md diff --git a/14_advanced_python_2026/40_human_in_loop/tests/test_basic.py b/modules/14_advanced_python_2026/40_human_in_loop/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/40_human_in_loop/tests/test_basic.py rename to modules/14_advanced_python_2026/40_human_in_loop/tests/test_basic.py diff --git a/14_advanced_python_2026/41_react_pattern/README.md b/modules/14_advanced_python_2026/41_react_pattern/README.md similarity index 100% rename from 14_advanced_python_2026/41_react_pattern/README.md rename to modules/14_advanced_python_2026/41_react_pattern/README.md diff --git a/14_advanced_python_2026/41_react_pattern/examples/example_basic.py b/modules/14_advanced_python_2026/41_react_pattern/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/41_react_pattern/examples/example_basic.py rename to modules/14_advanced_python_2026/41_react_pattern/examples/example_basic.py diff --git a/14_advanced_python_2026/41_react_pattern/exercise/exercise_01.py b/modules/14_advanced_python_2026/41_react_pattern/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/41_react_pattern/exercise/exercise_01.py rename to modules/14_advanced_python_2026/41_react_pattern/exercise/exercise_01.py diff --git a/14_advanced_python_2026/41_react_pattern/references/links.md b/modules/14_advanced_python_2026/41_react_pattern/references/links.md similarity index 100% rename from 14_advanced_python_2026/41_react_pattern/references/links.md rename to modules/14_advanced_python_2026/41_react_pattern/references/links.md diff --git a/14_advanced_python_2026/41_react_pattern/tests/test_basic.py b/modules/14_advanced_python_2026/41_react_pattern/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/41_react_pattern/tests/test_basic.py rename to modules/14_advanced_python_2026/41_react_pattern/tests/test_basic.py diff --git a/14_advanced_python_2026/42_agent_executors/README.md b/modules/14_advanced_python_2026/42_agent_executors/README.md similarity index 100% rename from 14_advanced_python_2026/42_agent_executors/README.md rename to modules/14_advanced_python_2026/42_agent_executors/README.md diff --git a/14_advanced_python_2026/42_agent_executors/examples/example_basic.py b/modules/14_advanced_python_2026/42_agent_executors/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/42_agent_executors/examples/example_basic.py rename to modules/14_advanced_python_2026/42_agent_executors/examples/example_basic.py diff --git a/14_advanced_python_2026/42_agent_executors/exercise/exercise_01.py b/modules/14_advanced_python_2026/42_agent_executors/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/42_agent_executors/exercise/exercise_01.py rename to modules/14_advanced_python_2026/42_agent_executors/exercise/exercise_01.py diff --git a/14_advanced_python_2026/42_agent_executors/references/links.md b/modules/14_advanced_python_2026/42_agent_executors/references/links.md similarity index 100% rename from 14_advanced_python_2026/42_agent_executors/references/links.md rename to modules/14_advanced_python_2026/42_agent_executors/references/links.md diff --git a/14_advanced_python_2026/42_agent_executors/tests/test_basic.py b/modules/14_advanced_python_2026/42_agent_executors/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/42_agent_executors/tests/test_basic.py rename to modules/14_advanced_python_2026/42_agent_executors/tests/test_basic.py diff --git a/14_advanced_python_2026/43_multi_agent_systems/README.md b/modules/14_advanced_python_2026/43_multi_agent_systems/README.md similarity index 100% rename from 14_advanced_python_2026/43_multi_agent_systems/README.md rename to modules/14_advanced_python_2026/43_multi_agent_systems/README.md diff --git a/14_advanced_python_2026/43_multi_agent_systems/examples/example_basic.py b/modules/14_advanced_python_2026/43_multi_agent_systems/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/43_multi_agent_systems/examples/example_basic.py rename to modules/14_advanced_python_2026/43_multi_agent_systems/examples/example_basic.py diff --git a/14_advanced_python_2026/43_multi_agent_systems/exercise/exercise_01.py b/modules/14_advanced_python_2026/43_multi_agent_systems/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/43_multi_agent_systems/exercise/exercise_01.py rename to modules/14_advanced_python_2026/43_multi_agent_systems/exercise/exercise_01.py diff --git a/14_advanced_python_2026/43_multi_agent_systems/references/links.md b/modules/14_advanced_python_2026/43_multi_agent_systems/references/links.md similarity index 100% rename from 14_advanced_python_2026/43_multi_agent_systems/references/links.md rename to modules/14_advanced_python_2026/43_multi_agent_systems/references/links.md diff --git a/14_advanced_python_2026/43_multi_agent_systems/tests/test_basic.py b/modules/14_advanced_python_2026/43_multi_agent_systems/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/43_multi_agent_systems/tests/test_basic.py rename to modules/14_advanced_python_2026/43_multi_agent_systems/tests/test_basic.py diff --git a/14_advanced_python_2026/44_testing_llm_systems/README.md b/modules/14_advanced_python_2026/44_testing_llm_systems/README.md similarity index 100% rename from 14_advanced_python_2026/44_testing_llm_systems/README.md rename to modules/14_advanced_python_2026/44_testing_llm_systems/README.md diff --git a/14_advanced_python_2026/44_testing_llm_systems/examples/example_basic.py b/modules/14_advanced_python_2026/44_testing_llm_systems/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/44_testing_llm_systems/examples/example_basic.py rename to modules/14_advanced_python_2026/44_testing_llm_systems/examples/example_basic.py diff --git a/14_advanced_python_2026/44_testing_llm_systems/exercise/exercise_01.py b/modules/14_advanced_python_2026/44_testing_llm_systems/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/44_testing_llm_systems/exercise/exercise_01.py rename to modules/14_advanced_python_2026/44_testing_llm_systems/exercise/exercise_01.py diff --git a/14_advanced_python_2026/44_testing_llm_systems/references/links.md b/modules/14_advanced_python_2026/44_testing_llm_systems/references/links.md similarity index 100% rename from 14_advanced_python_2026/44_testing_llm_systems/references/links.md rename to modules/14_advanced_python_2026/44_testing_llm_systems/references/links.md diff --git a/14_advanced_python_2026/44_testing_llm_systems/tests/test_basic.py b/modules/14_advanced_python_2026/44_testing_llm_systems/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/44_testing_llm_systems/tests/test_basic.py rename to modules/14_advanced_python_2026/44_testing_llm_systems/tests/test_basic.py diff --git a/14_advanced_python_2026/45_cost_tracking/README.md b/modules/14_advanced_python_2026/45_cost_tracking/README.md similarity index 100% rename from 14_advanced_python_2026/45_cost_tracking/README.md rename to modules/14_advanced_python_2026/45_cost_tracking/README.md diff --git a/14_advanced_python_2026/45_cost_tracking/examples/example_basic.py b/modules/14_advanced_python_2026/45_cost_tracking/examples/example_basic.py similarity index 100% rename from 14_advanced_python_2026/45_cost_tracking/examples/example_basic.py rename to modules/14_advanced_python_2026/45_cost_tracking/examples/example_basic.py diff --git a/14_advanced_python_2026/45_cost_tracking/exercise/exercise_01.py b/modules/14_advanced_python_2026/45_cost_tracking/exercise/exercise_01.py similarity index 100% rename from 14_advanced_python_2026/45_cost_tracking/exercise/exercise_01.py rename to modules/14_advanced_python_2026/45_cost_tracking/exercise/exercise_01.py diff --git a/14_advanced_python_2026/45_cost_tracking/references/links.md b/modules/14_advanced_python_2026/45_cost_tracking/references/links.md similarity index 100% rename from 14_advanced_python_2026/45_cost_tracking/references/links.md rename to modules/14_advanced_python_2026/45_cost_tracking/references/links.md diff --git a/14_advanced_python_2026/45_cost_tracking/tests/test_basic.py b/modules/14_advanced_python_2026/45_cost_tracking/tests/test_basic.py similarity index 100% rename from 14_advanced_python_2026/45_cost_tracking/tests/test_basic.py rename to modules/14_advanced_python_2026/45_cost_tracking/tests/test_basic.py diff --git a/14_advanced_python_2026/README.md b/modules/14_advanced_python_2026/README.md similarity index 100% rename from 14_advanced_python_2026/README.md rename to modules/14_advanced_python_2026/README.md diff --git a/15_basic_data_science/README.md b/modules/15_basic_data_science/README.md similarity index 100% rename from 15_basic_data_science/README.md rename to modules/15_basic_data_science/README.md diff --git a/15_basic_data_science/data_cleaning/README.md b/modules/15_basic_data_science/data_cleaning/README.md similarity index 100% rename from 15_basic_data_science/data_cleaning/README.md rename to modules/15_basic_data_science/data_cleaning/README.md diff --git a/15_basic_data_science/data_cleaning/examples/example_basic.py b/modules/15_basic_data_science/data_cleaning/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/data_cleaning/examples/example_basic.py rename to modules/15_basic_data_science/data_cleaning/examples/example_basic.py diff --git a/15_basic_data_science/data_cleaning/exercise/exercise_01.py b/modules/15_basic_data_science/data_cleaning/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/data_cleaning/exercise/exercise_01.py rename to modules/15_basic_data_science/data_cleaning/exercise/exercise_01.py diff --git a/15_basic_data_science/data_cleaning/references/links.md b/modules/15_basic_data_science/data_cleaning/references/links.md similarity index 100% rename from 15_basic_data_science/data_cleaning/references/links.md rename to modules/15_basic_data_science/data_cleaning/references/links.md diff --git a/15_basic_data_science/data_cleaning/tests/test_basic.py b/modules/15_basic_data_science/data_cleaning/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/data_cleaning/tests/test_basic.py rename to modules/15_basic_data_science/data_cleaning/tests/test_basic.py diff --git a/15_basic_data_science/exploratory_analysis/README.md b/modules/15_basic_data_science/exploratory_analysis/README.md similarity index 100% rename from 15_basic_data_science/exploratory_analysis/README.md rename to modules/15_basic_data_science/exploratory_analysis/README.md diff --git a/15_basic_data_science/exploratory_analysis/examples/example_basic.py b/modules/15_basic_data_science/exploratory_analysis/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/exploratory_analysis/examples/example_basic.py rename to modules/15_basic_data_science/exploratory_analysis/examples/example_basic.py diff --git a/15_basic_data_science/exploratory_analysis/exercise/exercise_01.py b/modules/15_basic_data_science/exploratory_analysis/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/exploratory_analysis/exercise/exercise_01.py rename to modules/15_basic_data_science/exploratory_analysis/exercise/exercise_01.py diff --git a/15_basic_data_science/exploratory_analysis/references/links.md b/modules/15_basic_data_science/exploratory_analysis/references/links.md similarity index 100% rename from 15_basic_data_science/exploratory_analysis/references/links.md rename to modules/15_basic_data_science/exploratory_analysis/references/links.md diff --git a/15_basic_data_science/exploratory_analysis/tests/test_basic.py b/modules/15_basic_data_science/exploratory_analysis/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/exploratory_analysis/tests/test_basic.py rename to modules/15_basic_data_science/exploratory_analysis/tests/test_basic.py diff --git a/15_basic_data_science/jupyter_notebooks_optional/README.md b/modules/15_basic_data_science/jupyter_notebooks_optional/README.md similarity index 100% rename from 15_basic_data_science/jupyter_notebooks_optional/README.md rename to modules/15_basic_data_science/jupyter_notebooks_optional/README.md diff --git a/15_basic_data_science/jupyter_notebooks_optional/examples/example_basic.py b/modules/15_basic_data_science/jupyter_notebooks_optional/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/jupyter_notebooks_optional/examples/example_basic.py rename to modules/15_basic_data_science/jupyter_notebooks_optional/examples/example_basic.py diff --git a/15_basic_data_science/jupyter_notebooks_optional/exercise/exercise_01.py b/modules/15_basic_data_science/jupyter_notebooks_optional/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/jupyter_notebooks_optional/exercise/exercise_01.py rename to modules/15_basic_data_science/jupyter_notebooks_optional/exercise/exercise_01.py diff --git a/15_basic_data_science/jupyter_notebooks_optional/references/links.md b/modules/15_basic_data_science/jupyter_notebooks_optional/references/links.md similarity index 100% rename from 15_basic_data_science/jupyter_notebooks_optional/references/links.md rename to modules/15_basic_data_science/jupyter_notebooks_optional/references/links.md diff --git a/15_basic_data_science/jupyter_notebooks_optional/tests/test_basic.py b/modules/15_basic_data_science/jupyter_notebooks_optional/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/jupyter_notebooks_optional/tests/test_basic.py rename to modules/15_basic_data_science/jupyter_notebooks_optional/tests/test_basic.py diff --git a/15_basic_data_science/matplotlib_basics/README.md b/modules/15_basic_data_science/matplotlib_basics/README.md similarity index 100% rename from 15_basic_data_science/matplotlib_basics/README.md rename to modules/15_basic_data_science/matplotlib_basics/README.md diff --git a/15_basic_data_science/matplotlib_basics/examples/example_basic.py b/modules/15_basic_data_science/matplotlib_basics/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/matplotlib_basics/examples/example_basic.py rename to modules/15_basic_data_science/matplotlib_basics/examples/example_basic.py diff --git a/15_basic_data_science/matplotlib_basics/exercise/exercise_01.py b/modules/15_basic_data_science/matplotlib_basics/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/matplotlib_basics/exercise/exercise_01.py rename to modules/15_basic_data_science/matplotlib_basics/exercise/exercise_01.py diff --git a/15_basic_data_science/matplotlib_basics/references/links.md b/modules/15_basic_data_science/matplotlib_basics/references/links.md similarity index 100% rename from 15_basic_data_science/matplotlib_basics/references/links.md rename to modules/15_basic_data_science/matplotlib_basics/references/links.md diff --git a/15_basic_data_science/matplotlib_basics/tests/test_basic.py b/modules/15_basic_data_science/matplotlib_basics/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/matplotlib_basics/tests/test_basic.py rename to modules/15_basic_data_science/matplotlib_basics/tests/test_basic.py diff --git a/15_basic_data_science/numpy_basics/README.md b/modules/15_basic_data_science/numpy_basics/README.md similarity index 100% rename from 15_basic_data_science/numpy_basics/README.md rename to modules/15_basic_data_science/numpy_basics/README.md diff --git a/15_basic_data_science/numpy_basics/examples/example_basic.py b/modules/15_basic_data_science/numpy_basics/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/numpy_basics/examples/example_basic.py rename to modules/15_basic_data_science/numpy_basics/examples/example_basic.py diff --git a/15_basic_data_science/numpy_basics/exercise/exercise_01.py b/modules/15_basic_data_science/numpy_basics/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/numpy_basics/exercise/exercise_01.py rename to modules/15_basic_data_science/numpy_basics/exercise/exercise_01.py diff --git a/15_basic_data_science/numpy_basics/references/links.md b/modules/15_basic_data_science/numpy_basics/references/links.md similarity index 100% rename from 15_basic_data_science/numpy_basics/references/links.md rename to modules/15_basic_data_science/numpy_basics/references/links.md diff --git a/15_basic_data_science/numpy_basics/tests/test_basic.py b/modules/15_basic_data_science/numpy_basics/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/numpy_basics/tests/test_basic.py rename to modules/15_basic_data_science/numpy_basics/tests/test_basic.py diff --git a/15_basic_data_science/pandas_intro/README.md b/modules/15_basic_data_science/pandas_intro/README.md similarity index 100% rename from 15_basic_data_science/pandas_intro/README.md rename to modules/15_basic_data_science/pandas_intro/README.md diff --git a/15_basic_data_science/pandas_intro/examples/example_basic.py b/modules/15_basic_data_science/pandas_intro/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/pandas_intro/examples/example_basic.py rename to modules/15_basic_data_science/pandas_intro/examples/example_basic.py diff --git a/15_basic_data_science/pandas_intro/exercise/exercise_01.py b/modules/15_basic_data_science/pandas_intro/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/pandas_intro/exercise/exercise_01.py rename to modules/15_basic_data_science/pandas_intro/exercise/exercise_01.py diff --git a/15_basic_data_science/pandas_intro/references/links.md b/modules/15_basic_data_science/pandas_intro/references/links.md similarity index 100% rename from 15_basic_data_science/pandas_intro/references/links.md rename to modules/15_basic_data_science/pandas_intro/references/links.md diff --git a/15_basic_data_science/pandas_intro/tests/test_basic.py b/modules/15_basic_data_science/pandas_intro/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/pandas_intro/tests/test_basic.py rename to modules/15_basic_data_science/pandas_intro/tests/test_basic.py diff --git a/15_basic_data_science/pandas_operations/README.md b/modules/15_basic_data_science/pandas_operations/README.md similarity index 100% rename from 15_basic_data_science/pandas_operations/README.md rename to modules/15_basic_data_science/pandas_operations/README.md diff --git a/15_basic_data_science/pandas_operations/examples/example_basic.py b/modules/15_basic_data_science/pandas_operations/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/pandas_operations/examples/example_basic.py rename to modules/15_basic_data_science/pandas_operations/examples/example_basic.py diff --git a/15_basic_data_science/pandas_operations/exercise/exercise_01.py b/modules/15_basic_data_science/pandas_operations/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/pandas_operations/exercise/exercise_01.py rename to modules/15_basic_data_science/pandas_operations/exercise/exercise_01.py diff --git a/15_basic_data_science/pandas_operations/references/links.md b/modules/15_basic_data_science/pandas_operations/references/links.md similarity index 100% rename from 15_basic_data_science/pandas_operations/references/links.md rename to modules/15_basic_data_science/pandas_operations/references/links.md diff --git a/15_basic_data_science/pandas_operations/tests/test_basic.py b/modules/15_basic_data_science/pandas_operations/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/pandas_operations/tests/test_basic.py rename to modules/15_basic_data_science/pandas_operations/tests/test_basic.py diff --git a/15_basic_data_science/pandas_performance/README.md b/modules/15_basic_data_science/pandas_performance/README.md similarity index 100% rename from 15_basic_data_science/pandas_performance/README.md rename to modules/15_basic_data_science/pandas_performance/README.md diff --git a/15_basic_data_science/pandas_performance/examples/example_basic.py b/modules/15_basic_data_science/pandas_performance/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/pandas_performance/examples/example_basic.py rename to modules/15_basic_data_science/pandas_performance/examples/example_basic.py diff --git a/15_basic_data_science/pandas_performance/exercise/exercise_01.py b/modules/15_basic_data_science/pandas_performance/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/pandas_performance/exercise/exercise_01.py rename to modules/15_basic_data_science/pandas_performance/exercise/exercise_01.py diff --git a/15_basic_data_science/pandas_performance/references/links.md b/modules/15_basic_data_science/pandas_performance/references/links.md similarity index 100% rename from 15_basic_data_science/pandas_performance/references/links.md rename to modules/15_basic_data_science/pandas_performance/references/links.md diff --git a/15_basic_data_science/pandas_performance/tests/test_basic.py b/modules/15_basic_data_science/pandas_performance/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/pandas_performance/tests/test_basic.py rename to modules/15_basic_data_science/pandas_performance/tests/test_basic.py diff --git a/15_basic_data_science/polars_intro/README.md b/modules/15_basic_data_science/polars_intro/README.md similarity index 100% rename from 15_basic_data_science/polars_intro/README.md rename to modules/15_basic_data_science/polars_intro/README.md diff --git a/15_basic_data_science/polars_intro/examples/example_basic.py b/modules/15_basic_data_science/polars_intro/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/polars_intro/examples/example_basic.py rename to modules/15_basic_data_science/polars_intro/examples/example_basic.py diff --git a/15_basic_data_science/polars_intro/exercise/exercise_01.py b/modules/15_basic_data_science/polars_intro/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/polars_intro/exercise/exercise_01.py rename to modules/15_basic_data_science/polars_intro/exercise/exercise_01.py diff --git a/15_basic_data_science/polars_intro/references/links.md b/modules/15_basic_data_science/polars_intro/references/links.md similarity index 100% rename from 15_basic_data_science/polars_intro/references/links.md rename to modules/15_basic_data_science/polars_intro/references/links.md diff --git a/15_basic_data_science/polars_intro/tests/test_basic.py b/modules/15_basic_data_science/polars_intro/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/polars_intro/tests/test_basic.py rename to modules/15_basic_data_science/polars_intro/tests/test_basic.py diff --git a/15_basic_data_science/seaborn_viz/README.md b/modules/15_basic_data_science/seaborn_viz/README.md similarity index 100% rename from 15_basic_data_science/seaborn_viz/README.md rename to modules/15_basic_data_science/seaborn_viz/README.md diff --git a/15_basic_data_science/seaborn_viz/examples/example_basic.py b/modules/15_basic_data_science/seaborn_viz/examples/example_basic.py similarity index 100% rename from 15_basic_data_science/seaborn_viz/examples/example_basic.py rename to modules/15_basic_data_science/seaborn_viz/examples/example_basic.py diff --git a/15_basic_data_science/seaborn_viz/exercise/exercise_01.py b/modules/15_basic_data_science/seaborn_viz/exercise/exercise_01.py similarity index 100% rename from 15_basic_data_science/seaborn_viz/exercise/exercise_01.py rename to modules/15_basic_data_science/seaborn_viz/exercise/exercise_01.py diff --git a/15_basic_data_science/seaborn_viz/references/links.md b/modules/15_basic_data_science/seaborn_viz/references/links.md similarity index 100% rename from 15_basic_data_science/seaborn_viz/references/links.md rename to modules/15_basic_data_science/seaborn_viz/references/links.md diff --git a/15_basic_data_science/seaborn_viz/tests/test_basic.py b/modules/15_basic_data_science/seaborn_viz/tests/test_basic.py similarity index 100% rename from 15_basic_data_science/seaborn_viz/tests/test_basic.py rename to modules/15_basic_data_science/seaborn_viz/tests/test_basic.py diff --git a/16_modern_security/01_supply_chain_security/README.md b/modules/16_modern_security/01_supply_chain_security/README.md similarity index 100% rename from 16_modern_security/01_supply_chain_security/README.md rename to modules/16_modern_security/01_supply_chain_security/README.md diff --git a/16_modern_security/01_supply_chain_security/examples/example_basic.py b/modules/16_modern_security/01_supply_chain_security/examples/example_basic.py similarity index 100% rename from 16_modern_security/01_supply_chain_security/examples/example_basic.py rename to modules/16_modern_security/01_supply_chain_security/examples/example_basic.py diff --git a/16_modern_security/01_supply_chain_security/exercise/exercise_01.py b/modules/16_modern_security/01_supply_chain_security/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/01_supply_chain_security/exercise/exercise_01.py rename to modules/16_modern_security/01_supply_chain_security/exercise/exercise_01.py diff --git a/16_modern_security/01_supply_chain_security/references/links.md b/modules/16_modern_security/01_supply_chain_security/references/links.md similarity index 100% rename from 16_modern_security/01_supply_chain_security/references/links.md rename to modules/16_modern_security/01_supply_chain_security/references/links.md diff --git a/16_modern_security/01_supply_chain_security/tests/test_basic.py b/modules/16_modern_security/01_supply_chain_security/tests/test_basic.py similarity index 100% rename from 16_modern_security/01_supply_chain_security/tests/test_basic.py rename to modules/16_modern_security/01_supply_chain_security/tests/test_basic.py diff --git a/16_modern_security/02_dependency_attacks/README.md b/modules/16_modern_security/02_dependency_attacks/README.md similarity index 100% rename from 16_modern_security/02_dependency_attacks/README.md rename to modules/16_modern_security/02_dependency_attacks/README.md diff --git a/16_modern_security/02_dependency_attacks/examples/example_basic.py b/modules/16_modern_security/02_dependency_attacks/examples/example_basic.py similarity index 100% rename from 16_modern_security/02_dependency_attacks/examples/example_basic.py rename to modules/16_modern_security/02_dependency_attacks/examples/example_basic.py diff --git a/16_modern_security/02_dependency_attacks/exercise/exercise_01.py b/modules/16_modern_security/02_dependency_attacks/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/02_dependency_attacks/exercise/exercise_01.py rename to modules/16_modern_security/02_dependency_attacks/exercise/exercise_01.py diff --git a/16_modern_security/02_dependency_attacks/references/links.md b/modules/16_modern_security/02_dependency_attacks/references/links.md similarity index 100% rename from 16_modern_security/02_dependency_attacks/references/links.md rename to modules/16_modern_security/02_dependency_attacks/references/links.md diff --git a/16_modern_security/02_dependency_attacks/tests/test_basic.py b/modules/16_modern_security/02_dependency_attacks/tests/test_basic.py similarity index 100% rename from 16_modern_security/02_dependency_attacks/tests/test_basic.py rename to modules/16_modern_security/02_dependency_attacks/tests/test_basic.py diff --git a/16_modern_security/03_typosquatting_pypi/README.md b/modules/16_modern_security/03_typosquatting_pypi/README.md similarity index 100% rename from 16_modern_security/03_typosquatting_pypi/README.md rename to modules/16_modern_security/03_typosquatting_pypi/README.md diff --git a/16_modern_security/03_typosquatting_pypi/examples/example_basic.py b/modules/16_modern_security/03_typosquatting_pypi/examples/example_basic.py similarity index 100% rename from 16_modern_security/03_typosquatting_pypi/examples/example_basic.py rename to modules/16_modern_security/03_typosquatting_pypi/examples/example_basic.py diff --git a/16_modern_security/03_typosquatting_pypi/exercise/exercise_01.py b/modules/16_modern_security/03_typosquatting_pypi/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/03_typosquatting_pypi/exercise/exercise_01.py rename to modules/16_modern_security/03_typosquatting_pypi/exercise/exercise_01.py diff --git a/16_modern_security/03_typosquatting_pypi/references/links.md b/modules/16_modern_security/03_typosquatting_pypi/references/links.md similarity index 100% rename from 16_modern_security/03_typosquatting_pypi/references/links.md rename to modules/16_modern_security/03_typosquatting_pypi/references/links.md diff --git a/16_modern_security/03_typosquatting_pypi/tests/test_basic.py b/modules/16_modern_security/03_typosquatting_pypi/tests/test_basic.py similarity index 100% rename from 16_modern_security/03_typosquatting_pypi/tests/test_basic.py rename to modules/16_modern_security/03_typosquatting_pypi/tests/test_basic.py diff --git a/16_modern_security/04_malicious_packages/README.md b/modules/16_modern_security/04_malicious_packages/README.md similarity index 100% rename from 16_modern_security/04_malicious_packages/README.md rename to modules/16_modern_security/04_malicious_packages/README.md diff --git a/16_modern_security/04_malicious_packages/examples/example_basic.py b/modules/16_modern_security/04_malicious_packages/examples/example_basic.py similarity index 100% rename from 16_modern_security/04_malicious_packages/examples/example_basic.py rename to modules/16_modern_security/04_malicious_packages/examples/example_basic.py diff --git a/16_modern_security/04_malicious_packages/exercise/exercise_01.py b/modules/16_modern_security/04_malicious_packages/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/04_malicious_packages/exercise/exercise_01.py rename to modules/16_modern_security/04_malicious_packages/exercise/exercise_01.py diff --git a/16_modern_security/04_malicious_packages/references/links.md b/modules/16_modern_security/04_malicious_packages/references/links.md similarity index 100% rename from 16_modern_security/04_malicious_packages/references/links.md rename to modules/16_modern_security/04_malicious_packages/references/links.md diff --git a/16_modern_security/04_malicious_packages/tests/test_basic.py b/modules/16_modern_security/04_malicious_packages/tests/test_basic.py similarity index 100% rename from 16_modern_security/04_malicious_packages/tests/test_basic.py rename to modules/16_modern_security/04_malicious_packages/tests/test_basic.py diff --git a/16_modern_security/05_sbom_introduction/README.md b/modules/16_modern_security/05_sbom_introduction/README.md similarity index 100% rename from 16_modern_security/05_sbom_introduction/README.md rename to modules/16_modern_security/05_sbom_introduction/README.md diff --git a/16_modern_security/05_sbom_introduction/examples/example_basic.py b/modules/16_modern_security/05_sbom_introduction/examples/example_basic.py similarity index 100% rename from 16_modern_security/05_sbom_introduction/examples/example_basic.py rename to modules/16_modern_security/05_sbom_introduction/examples/example_basic.py diff --git a/16_modern_security/05_sbom_introduction/exercise/exercise_01.py b/modules/16_modern_security/05_sbom_introduction/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/05_sbom_introduction/exercise/exercise_01.py rename to modules/16_modern_security/05_sbom_introduction/exercise/exercise_01.py diff --git a/16_modern_security/05_sbom_introduction/references/links.md b/modules/16_modern_security/05_sbom_introduction/references/links.md similarity index 100% rename from 16_modern_security/05_sbom_introduction/references/links.md rename to modules/16_modern_security/05_sbom_introduction/references/links.md diff --git a/16_modern_security/05_sbom_introduction/tests/test_basic.py b/modules/16_modern_security/05_sbom_introduction/tests/test_basic.py similarity index 100% rename from 16_modern_security/05_sbom_introduction/tests/test_basic.py rename to modules/16_modern_security/05_sbom_introduction/tests/test_basic.py diff --git a/16_modern_security/06_sbom_formats_spdx_cyclonedx/README.md b/modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/README.md similarity index 100% rename from 16_modern_security/06_sbom_formats_spdx_cyclonedx/README.md rename to modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/README.md diff --git a/16_modern_security/06_sbom_formats_spdx_cyclonedx/examples/example_basic.py b/modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/examples/example_basic.py similarity index 100% rename from 16_modern_security/06_sbom_formats_spdx_cyclonedx/examples/example_basic.py rename to modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/examples/example_basic.py diff --git a/16_modern_security/06_sbom_formats_spdx_cyclonedx/exercise/exercise_01.py b/modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/06_sbom_formats_spdx_cyclonedx/exercise/exercise_01.py rename to modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/exercise/exercise_01.py diff --git a/16_modern_security/06_sbom_formats_spdx_cyclonedx/references/links.md b/modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/references/links.md similarity index 100% rename from 16_modern_security/06_sbom_formats_spdx_cyclonedx/references/links.md rename to modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/references/links.md diff --git a/16_modern_security/06_sbom_formats_spdx_cyclonedx/tests/test_basic.py b/modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/tests/test_basic.py similarity index 100% rename from 16_modern_security/06_sbom_formats_spdx_cyclonedx/tests/test_basic.py rename to modules/16_modern_security/06_sbom_formats_spdx_cyclonedx/tests/test_basic.py diff --git a/16_modern_security/07_sbom_generation_syft/README.md b/modules/16_modern_security/07_sbom_generation_syft/README.md similarity index 100% rename from 16_modern_security/07_sbom_generation_syft/README.md rename to modules/16_modern_security/07_sbom_generation_syft/README.md diff --git a/16_modern_security/07_sbom_generation_syft/examples/example_basic.py b/modules/16_modern_security/07_sbom_generation_syft/examples/example_basic.py similarity index 100% rename from 16_modern_security/07_sbom_generation_syft/examples/example_basic.py rename to modules/16_modern_security/07_sbom_generation_syft/examples/example_basic.py diff --git a/16_modern_security/07_sbom_generation_syft/exercise/exercise_01.py b/modules/16_modern_security/07_sbom_generation_syft/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/07_sbom_generation_syft/exercise/exercise_01.py rename to modules/16_modern_security/07_sbom_generation_syft/exercise/exercise_01.py diff --git a/16_modern_security/07_sbom_generation_syft/references/links.md b/modules/16_modern_security/07_sbom_generation_syft/references/links.md similarity index 100% rename from 16_modern_security/07_sbom_generation_syft/references/links.md rename to modules/16_modern_security/07_sbom_generation_syft/references/links.md diff --git a/16_modern_security/07_sbom_generation_syft/tests/test_basic.py b/modules/16_modern_security/07_sbom_generation_syft/tests/test_basic.py similarity index 100% rename from 16_modern_security/07_sbom_generation_syft/tests/test_basic.py rename to modules/16_modern_security/07_sbom_generation_syft/tests/test_basic.py diff --git a/16_modern_security/08_sbom_vulnerability_analysis/README.md b/modules/16_modern_security/08_sbom_vulnerability_analysis/README.md similarity index 100% rename from 16_modern_security/08_sbom_vulnerability_analysis/README.md rename to modules/16_modern_security/08_sbom_vulnerability_analysis/README.md diff --git a/16_modern_security/08_sbom_vulnerability_analysis/examples/example_basic.py b/modules/16_modern_security/08_sbom_vulnerability_analysis/examples/example_basic.py similarity index 100% rename from 16_modern_security/08_sbom_vulnerability_analysis/examples/example_basic.py rename to modules/16_modern_security/08_sbom_vulnerability_analysis/examples/example_basic.py diff --git a/16_modern_security/08_sbom_vulnerability_analysis/exercise/exercise_01.py b/modules/16_modern_security/08_sbom_vulnerability_analysis/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/08_sbom_vulnerability_analysis/exercise/exercise_01.py rename to modules/16_modern_security/08_sbom_vulnerability_analysis/exercise/exercise_01.py diff --git a/16_modern_security/08_sbom_vulnerability_analysis/references/links.md b/modules/16_modern_security/08_sbom_vulnerability_analysis/references/links.md similarity index 100% rename from 16_modern_security/08_sbom_vulnerability_analysis/references/links.md rename to modules/16_modern_security/08_sbom_vulnerability_analysis/references/links.md diff --git a/16_modern_security/08_sbom_vulnerability_analysis/tests/test_basic.py b/modules/16_modern_security/08_sbom_vulnerability_analysis/tests/test_basic.py similarity index 100% rename from 16_modern_security/08_sbom_vulnerability_analysis/tests/test_basic.py rename to modules/16_modern_security/08_sbom_vulnerability_analysis/tests/test_basic.py diff --git a/16_modern_security/09_sbom_ci_cd/README.md b/modules/16_modern_security/09_sbom_ci_cd/README.md similarity index 100% rename from 16_modern_security/09_sbom_ci_cd/README.md rename to modules/16_modern_security/09_sbom_ci_cd/README.md diff --git a/16_modern_security/09_sbom_ci_cd/examples/example_basic.py b/modules/16_modern_security/09_sbom_ci_cd/examples/example_basic.py similarity index 100% rename from 16_modern_security/09_sbom_ci_cd/examples/example_basic.py rename to modules/16_modern_security/09_sbom_ci_cd/examples/example_basic.py diff --git a/16_modern_security/09_sbom_ci_cd/exercise/exercise_01.py b/modules/16_modern_security/09_sbom_ci_cd/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/09_sbom_ci_cd/exercise/exercise_01.py rename to modules/16_modern_security/09_sbom_ci_cd/exercise/exercise_01.py diff --git a/16_modern_security/09_sbom_ci_cd/references/links.md b/modules/16_modern_security/09_sbom_ci_cd/references/links.md similarity index 100% rename from 16_modern_security/09_sbom_ci_cd/references/links.md rename to modules/16_modern_security/09_sbom_ci_cd/references/links.md diff --git a/16_modern_security/09_sbom_ci_cd/tests/test_basic.py b/modules/16_modern_security/09_sbom_ci_cd/tests/test_basic.py similarity index 100% rename from 16_modern_security/09_sbom_ci_cd/tests/test_basic.py rename to modules/16_modern_security/09_sbom_ci_cd/tests/test_basic.py diff --git a/16_modern_security/10_sbom_signing/README.md b/modules/16_modern_security/10_sbom_signing/README.md similarity index 100% rename from 16_modern_security/10_sbom_signing/README.md rename to modules/16_modern_security/10_sbom_signing/README.md diff --git a/16_modern_security/10_sbom_signing/examples/example_basic.py b/modules/16_modern_security/10_sbom_signing/examples/example_basic.py similarity index 100% rename from 16_modern_security/10_sbom_signing/examples/example_basic.py rename to modules/16_modern_security/10_sbom_signing/examples/example_basic.py diff --git a/16_modern_security/10_sbom_signing/exercise/exercise_01.py b/modules/16_modern_security/10_sbom_signing/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/10_sbom_signing/exercise/exercise_01.py rename to modules/16_modern_security/10_sbom_signing/exercise/exercise_01.py diff --git a/16_modern_security/10_sbom_signing/references/links.md b/modules/16_modern_security/10_sbom_signing/references/links.md similarity index 100% rename from 16_modern_security/10_sbom_signing/references/links.md rename to modules/16_modern_security/10_sbom_signing/references/links.md diff --git a/16_modern_security/10_sbom_signing/tests/test_basic.py b/modules/16_modern_security/10_sbom_signing/tests/test_basic.py similarity index 100% rename from 16_modern_security/10_sbom_signing/tests/test_basic.py rename to modules/16_modern_security/10_sbom_signing/tests/test_basic.py diff --git a/16_modern_security/11_sigstore_architecture/README.md b/modules/16_modern_security/11_sigstore_architecture/README.md similarity index 100% rename from 16_modern_security/11_sigstore_architecture/README.md rename to modules/16_modern_security/11_sigstore_architecture/README.md diff --git a/16_modern_security/11_sigstore_architecture/examples/example_basic.py b/modules/16_modern_security/11_sigstore_architecture/examples/example_basic.py similarity index 100% rename from 16_modern_security/11_sigstore_architecture/examples/example_basic.py rename to modules/16_modern_security/11_sigstore_architecture/examples/example_basic.py diff --git a/16_modern_security/11_sigstore_architecture/exercise/exercise_01.py b/modules/16_modern_security/11_sigstore_architecture/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/11_sigstore_architecture/exercise/exercise_01.py rename to modules/16_modern_security/11_sigstore_architecture/exercise/exercise_01.py diff --git a/16_modern_security/11_sigstore_architecture/references/links.md b/modules/16_modern_security/11_sigstore_architecture/references/links.md similarity index 100% rename from 16_modern_security/11_sigstore_architecture/references/links.md rename to modules/16_modern_security/11_sigstore_architecture/references/links.md diff --git a/16_modern_security/11_sigstore_architecture/tests/test_basic.py b/modules/16_modern_security/11_sigstore_architecture/tests/test_basic.py similarity index 100% rename from 16_modern_security/11_sigstore_architecture/tests/test_basic.py rename to modules/16_modern_security/11_sigstore_architecture/tests/test_basic.py diff --git a/16_modern_security/12_keyless_signing_oidc/README.md b/modules/16_modern_security/12_keyless_signing_oidc/README.md similarity index 100% rename from 16_modern_security/12_keyless_signing_oidc/README.md rename to modules/16_modern_security/12_keyless_signing_oidc/README.md diff --git a/16_modern_security/12_keyless_signing_oidc/examples/example_basic.py b/modules/16_modern_security/12_keyless_signing_oidc/examples/example_basic.py similarity index 100% rename from 16_modern_security/12_keyless_signing_oidc/examples/example_basic.py rename to modules/16_modern_security/12_keyless_signing_oidc/examples/example_basic.py diff --git a/16_modern_security/12_keyless_signing_oidc/exercise/exercise_01.py b/modules/16_modern_security/12_keyless_signing_oidc/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/12_keyless_signing_oidc/exercise/exercise_01.py rename to modules/16_modern_security/12_keyless_signing_oidc/exercise/exercise_01.py diff --git a/16_modern_security/12_keyless_signing_oidc/references/links.md b/modules/16_modern_security/12_keyless_signing_oidc/references/links.md similarity index 100% rename from 16_modern_security/12_keyless_signing_oidc/references/links.md rename to modules/16_modern_security/12_keyless_signing_oidc/references/links.md diff --git a/16_modern_security/12_keyless_signing_oidc/tests/test_basic.py b/modules/16_modern_security/12_keyless_signing_oidc/tests/test_basic.py similarity index 100% rename from 16_modern_security/12_keyless_signing_oidc/tests/test_basic.py rename to modules/16_modern_security/12_keyless_signing_oidc/tests/test_basic.py diff --git a/16_modern_security/13_signing_wheels_cosign/README.md b/modules/16_modern_security/13_signing_wheels_cosign/README.md similarity index 100% rename from 16_modern_security/13_signing_wheels_cosign/README.md rename to modules/16_modern_security/13_signing_wheels_cosign/README.md diff --git a/16_modern_security/13_signing_wheels_cosign/examples/example_basic.py b/modules/16_modern_security/13_signing_wheels_cosign/examples/example_basic.py similarity index 100% rename from 16_modern_security/13_signing_wheels_cosign/examples/example_basic.py rename to modules/16_modern_security/13_signing_wheels_cosign/examples/example_basic.py diff --git a/16_modern_security/13_signing_wheels_cosign/exercise/exercise_01.py b/modules/16_modern_security/13_signing_wheels_cosign/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/13_signing_wheels_cosign/exercise/exercise_01.py rename to modules/16_modern_security/13_signing_wheels_cosign/exercise/exercise_01.py diff --git a/16_modern_security/13_signing_wheels_cosign/references/links.md b/modules/16_modern_security/13_signing_wheels_cosign/references/links.md similarity index 100% rename from 16_modern_security/13_signing_wheels_cosign/references/links.md rename to modules/16_modern_security/13_signing_wheels_cosign/references/links.md diff --git a/16_modern_security/13_signing_wheels_cosign/tests/test_basic.py b/modules/16_modern_security/13_signing_wheels_cosign/tests/test_basic.py similarity index 100% rename from 16_modern_security/13_signing_wheels_cosign/tests/test_basic.py rename to modules/16_modern_security/13_signing_wheels_cosign/tests/test_basic.py diff --git a/16_modern_security/14_signing_containers/README.md b/modules/16_modern_security/14_signing_containers/README.md similarity index 100% rename from 16_modern_security/14_signing_containers/README.md rename to modules/16_modern_security/14_signing_containers/README.md diff --git a/16_modern_security/14_signing_containers/examples/example_basic.py b/modules/16_modern_security/14_signing_containers/examples/example_basic.py similarity index 100% rename from 16_modern_security/14_signing_containers/examples/example_basic.py rename to modules/16_modern_security/14_signing_containers/examples/example_basic.py diff --git a/16_modern_security/14_signing_containers/exercise/exercise_01.py b/modules/16_modern_security/14_signing_containers/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/14_signing_containers/exercise/exercise_01.py rename to modules/16_modern_security/14_signing_containers/exercise/exercise_01.py diff --git a/16_modern_security/14_signing_containers/references/links.md b/modules/16_modern_security/14_signing_containers/references/links.md similarity index 100% rename from 16_modern_security/14_signing_containers/references/links.md rename to modules/16_modern_security/14_signing_containers/references/links.md diff --git a/16_modern_security/14_signing_containers/tests/test_basic.py b/modules/16_modern_security/14_signing_containers/tests/test_basic.py similarity index 100% rename from 16_modern_security/14_signing_containers/tests/test_basic.py rename to modules/16_modern_security/14_signing_containers/tests/test_basic.py diff --git a/16_modern_security/15_signature_verification/README.md b/modules/16_modern_security/15_signature_verification/README.md similarity index 100% rename from 16_modern_security/15_signature_verification/README.md rename to modules/16_modern_security/15_signature_verification/README.md diff --git a/16_modern_security/15_signature_verification/examples/example_basic.py b/modules/16_modern_security/15_signature_verification/examples/example_basic.py similarity index 100% rename from 16_modern_security/15_signature_verification/examples/example_basic.py rename to modules/16_modern_security/15_signature_verification/examples/example_basic.py diff --git a/16_modern_security/15_signature_verification/exercise/exercise_01.py b/modules/16_modern_security/15_signature_verification/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/15_signature_verification/exercise/exercise_01.py rename to modules/16_modern_security/15_signature_verification/exercise/exercise_01.py diff --git a/16_modern_security/15_signature_verification/references/links.md b/modules/16_modern_security/15_signature_verification/references/links.md similarity index 100% rename from 16_modern_security/15_signature_verification/references/links.md rename to modules/16_modern_security/15_signature_verification/references/links.md diff --git a/16_modern_security/15_signature_verification/tests/test_basic.py b/modules/16_modern_security/15_signature_verification/tests/test_basic.py similarity index 100% rename from 16_modern_security/15_signature_verification/tests/test_basic.py rename to modules/16_modern_security/15_signature_verification/tests/test_basic.py diff --git a/16_modern_security/16_transparency_logs_rekor/README.md b/modules/16_modern_security/16_transparency_logs_rekor/README.md similarity index 100% rename from 16_modern_security/16_transparency_logs_rekor/README.md rename to modules/16_modern_security/16_transparency_logs_rekor/README.md diff --git a/16_modern_security/16_transparency_logs_rekor/examples/example_basic.py b/modules/16_modern_security/16_transparency_logs_rekor/examples/example_basic.py similarity index 100% rename from 16_modern_security/16_transparency_logs_rekor/examples/example_basic.py rename to modules/16_modern_security/16_transparency_logs_rekor/examples/example_basic.py diff --git a/16_modern_security/16_transparency_logs_rekor/exercise/exercise_01.py b/modules/16_modern_security/16_transparency_logs_rekor/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/16_transparency_logs_rekor/exercise/exercise_01.py rename to modules/16_modern_security/16_transparency_logs_rekor/exercise/exercise_01.py diff --git a/16_modern_security/16_transparency_logs_rekor/references/links.md b/modules/16_modern_security/16_transparency_logs_rekor/references/links.md similarity index 100% rename from 16_modern_security/16_transparency_logs_rekor/references/links.md rename to modules/16_modern_security/16_transparency_logs_rekor/references/links.md diff --git a/16_modern_security/16_transparency_logs_rekor/tests/test_basic.py b/modules/16_modern_security/16_transparency_logs_rekor/tests/test_basic.py similarity index 100% rename from 16_modern_security/16_transparency_logs_rekor/tests/test_basic.py rename to modules/16_modern_security/16_transparency_logs_rekor/tests/test_basic.py diff --git a/16_modern_security/17_vulnerability_scanning_safety/README.md b/modules/16_modern_security/17_vulnerability_scanning_safety/README.md similarity index 100% rename from 16_modern_security/17_vulnerability_scanning_safety/README.md rename to modules/16_modern_security/17_vulnerability_scanning_safety/README.md diff --git a/16_modern_security/17_vulnerability_scanning_safety/examples/example_basic.py b/modules/16_modern_security/17_vulnerability_scanning_safety/examples/example_basic.py similarity index 100% rename from 16_modern_security/17_vulnerability_scanning_safety/examples/example_basic.py rename to modules/16_modern_security/17_vulnerability_scanning_safety/examples/example_basic.py diff --git a/16_modern_security/17_vulnerability_scanning_safety/exercise/exercise_01.py b/modules/16_modern_security/17_vulnerability_scanning_safety/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/17_vulnerability_scanning_safety/exercise/exercise_01.py rename to modules/16_modern_security/17_vulnerability_scanning_safety/exercise/exercise_01.py diff --git a/16_modern_security/17_vulnerability_scanning_safety/references/links.md b/modules/16_modern_security/17_vulnerability_scanning_safety/references/links.md similarity index 100% rename from 16_modern_security/17_vulnerability_scanning_safety/references/links.md rename to modules/16_modern_security/17_vulnerability_scanning_safety/references/links.md diff --git a/16_modern_security/17_vulnerability_scanning_safety/tests/test_basic.py b/modules/16_modern_security/17_vulnerability_scanning_safety/tests/test_basic.py similarity index 100% rename from 16_modern_security/17_vulnerability_scanning_safety/tests/test_basic.py rename to modules/16_modern_security/17_vulnerability_scanning_safety/tests/test_basic.py diff --git a/16_modern_security/18_trivy_containers/README.md b/modules/16_modern_security/18_trivy_containers/README.md similarity index 100% rename from 16_modern_security/18_trivy_containers/README.md rename to modules/16_modern_security/18_trivy_containers/README.md diff --git a/16_modern_security/18_trivy_containers/examples/example_basic.py b/modules/16_modern_security/18_trivy_containers/examples/example_basic.py similarity index 100% rename from 16_modern_security/18_trivy_containers/examples/example_basic.py rename to modules/16_modern_security/18_trivy_containers/examples/example_basic.py diff --git a/16_modern_security/18_trivy_containers/exercise/exercise_01.py b/modules/16_modern_security/18_trivy_containers/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/18_trivy_containers/exercise/exercise_01.py rename to modules/16_modern_security/18_trivy_containers/exercise/exercise_01.py diff --git a/16_modern_security/18_trivy_containers/references/links.md b/modules/16_modern_security/18_trivy_containers/references/links.md similarity index 100% rename from 16_modern_security/18_trivy_containers/references/links.md rename to modules/16_modern_security/18_trivy_containers/references/links.md diff --git a/16_modern_security/18_trivy_containers/tests/test_basic.py b/modules/16_modern_security/18_trivy_containers/tests/test_basic.py similarity index 100% rename from 16_modern_security/18_trivy_containers/tests/test_basic.py rename to modules/16_modern_security/18_trivy_containers/tests/test_basic.py diff --git a/16_modern_security/19_grype_scanning/README.md b/modules/16_modern_security/19_grype_scanning/README.md similarity index 100% rename from 16_modern_security/19_grype_scanning/README.md rename to modules/16_modern_security/19_grype_scanning/README.md diff --git a/16_modern_security/19_grype_scanning/examples/example_basic.py b/modules/16_modern_security/19_grype_scanning/examples/example_basic.py similarity index 100% rename from 16_modern_security/19_grype_scanning/examples/example_basic.py rename to modules/16_modern_security/19_grype_scanning/examples/example_basic.py diff --git a/16_modern_security/19_grype_scanning/exercise/exercise_01.py b/modules/16_modern_security/19_grype_scanning/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/19_grype_scanning/exercise/exercise_01.py rename to modules/16_modern_security/19_grype_scanning/exercise/exercise_01.py diff --git a/16_modern_security/19_grype_scanning/references/links.md b/modules/16_modern_security/19_grype_scanning/references/links.md similarity index 100% rename from 16_modern_security/19_grype_scanning/references/links.md rename to modules/16_modern_security/19_grype_scanning/references/links.md diff --git a/16_modern_security/19_grype_scanning/tests/test_basic.py b/modules/16_modern_security/19_grype_scanning/tests/test_basic.py similarity index 100% rename from 16_modern_security/19_grype_scanning/tests/test_basic.py rename to modules/16_modern_security/19_grype_scanning/tests/test_basic.py diff --git a/16_modern_security/20_dependabot_github/README.md b/modules/16_modern_security/20_dependabot_github/README.md similarity index 100% rename from 16_modern_security/20_dependabot_github/README.md rename to modules/16_modern_security/20_dependabot_github/README.md diff --git a/16_modern_security/20_dependabot_github/examples/example_basic.py b/modules/16_modern_security/20_dependabot_github/examples/example_basic.py similarity index 100% rename from 16_modern_security/20_dependabot_github/examples/example_basic.py rename to modules/16_modern_security/20_dependabot_github/examples/example_basic.py diff --git a/16_modern_security/20_dependabot_github/exercise/exercise_01.py b/modules/16_modern_security/20_dependabot_github/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/20_dependabot_github/exercise/exercise_01.py rename to modules/16_modern_security/20_dependabot_github/exercise/exercise_01.py diff --git a/16_modern_security/20_dependabot_github/references/links.md b/modules/16_modern_security/20_dependabot_github/references/links.md similarity index 100% rename from 16_modern_security/20_dependabot_github/references/links.md rename to modules/16_modern_security/20_dependabot_github/references/links.md diff --git a/16_modern_security/20_dependabot_github/tests/test_basic.py b/modules/16_modern_security/20_dependabot_github/tests/test_basic.py similarity index 100% rename from 16_modern_security/20_dependabot_github/tests/test_basic.py rename to modules/16_modern_security/20_dependabot_github/tests/test_basic.py diff --git a/16_modern_security/21_automated_patching/README.md b/modules/16_modern_security/21_automated_patching/README.md similarity index 100% rename from 16_modern_security/21_automated_patching/README.md rename to modules/16_modern_security/21_automated_patching/README.md diff --git a/16_modern_security/21_automated_patching/examples/example_basic.py b/modules/16_modern_security/21_automated_patching/examples/example_basic.py similarity index 100% rename from 16_modern_security/21_automated_patching/examples/example_basic.py rename to modules/16_modern_security/21_automated_patching/examples/example_basic.py diff --git a/16_modern_security/21_automated_patching/exercise/exercise_01.py b/modules/16_modern_security/21_automated_patching/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/21_automated_patching/exercise/exercise_01.py rename to modules/16_modern_security/21_automated_patching/exercise/exercise_01.py diff --git a/16_modern_security/21_automated_patching/references/links.md b/modules/16_modern_security/21_automated_patching/references/links.md similarity index 100% rename from 16_modern_security/21_automated_patching/references/links.md rename to modules/16_modern_security/21_automated_patching/references/links.md diff --git a/16_modern_security/21_automated_patching/tests/test_basic.py b/modules/16_modern_security/21_automated_patching/tests/test_basic.py similarity index 100% rename from 16_modern_security/21_automated_patching/tests/test_basic.py rename to modules/16_modern_security/21_automated_patching/tests/test_basic.py diff --git a/16_modern_security/22_secrets_management_intro/README.md b/modules/16_modern_security/22_secrets_management_intro/README.md similarity index 100% rename from 16_modern_security/22_secrets_management_intro/README.md rename to modules/16_modern_security/22_secrets_management_intro/README.md diff --git a/16_modern_security/22_secrets_management_intro/examples/example_basic.py b/modules/16_modern_security/22_secrets_management_intro/examples/example_basic.py similarity index 100% rename from 16_modern_security/22_secrets_management_intro/examples/example_basic.py rename to modules/16_modern_security/22_secrets_management_intro/examples/example_basic.py diff --git a/16_modern_security/22_secrets_management_intro/exercise/exercise_01.py b/modules/16_modern_security/22_secrets_management_intro/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/22_secrets_management_intro/exercise/exercise_01.py rename to modules/16_modern_security/22_secrets_management_intro/exercise/exercise_01.py diff --git a/16_modern_security/22_secrets_management_intro/references/links.md b/modules/16_modern_security/22_secrets_management_intro/references/links.md similarity index 100% rename from 16_modern_security/22_secrets_management_intro/references/links.md rename to modules/16_modern_security/22_secrets_management_intro/references/links.md diff --git a/16_modern_security/22_secrets_management_intro/tests/test_basic.py b/modules/16_modern_security/22_secrets_management_intro/tests/test_basic.py similarity index 100% rename from 16_modern_security/22_secrets_management_intro/tests/test_basic.py rename to modules/16_modern_security/22_secrets_management_intro/tests/test_basic.py diff --git a/16_modern_security/23_environment_variables/README.md b/modules/16_modern_security/23_environment_variables/README.md similarity index 100% rename from 16_modern_security/23_environment_variables/README.md rename to modules/16_modern_security/23_environment_variables/README.md diff --git a/16_modern_security/23_environment_variables/examples/example_basic.py b/modules/16_modern_security/23_environment_variables/examples/example_basic.py similarity index 100% rename from 16_modern_security/23_environment_variables/examples/example_basic.py rename to modules/16_modern_security/23_environment_variables/examples/example_basic.py diff --git a/16_modern_security/23_environment_variables/exercise/exercise_01.py b/modules/16_modern_security/23_environment_variables/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/23_environment_variables/exercise/exercise_01.py rename to modules/16_modern_security/23_environment_variables/exercise/exercise_01.py diff --git a/16_modern_security/23_environment_variables/references/links.md b/modules/16_modern_security/23_environment_variables/references/links.md similarity index 100% rename from 16_modern_security/23_environment_variables/references/links.md rename to modules/16_modern_security/23_environment_variables/references/links.md diff --git a/16_modern_security/23_environment_variables/tests/test_basic.py b/modules/16_modern_security/23_environment_variables/tests/test_basic.py similarity index 100% rename from 16_modern_security/23_environment_variables/tests/test_basic.py rename to modules/16_modern_security/23_environment_variables/tests/test_basic.py diff --git a/16_modern_security/24_secrets_ci_cd/README.md b/modules/16_modern_security/24_secrets_ci_cd/README.md similarity index 100% rename from 16_modern_security/24_secrets_ci_cd/README.md rename to modules/16_modern_security/24_secrets_ci_cd/README.md diff --git a/16_modern_security/24_secrets_ci_cd/examples/example_basic.py b/modules/16_modern_security/24_secrets_ci_cd/examples/example_basic.py similarity index 100% rename from 16_modern_security/24_secrets_ci_cd/examples/example_basic.py rename to modules/16_modern_security/24_secrets_ci_cd/examples/example_basic.py diff --git a/16_modern_security/24_secrets_ci_cd/exercise/exercise_01.py b/modules/16_modern_security/24_secrets_ci_cd/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/24_secrets_ci_cd/exercise/exercise_01.py rename to modules/16_modern_security/24_secrets_ci_cd/exercise/exercise_01.py diff --git a/16_modern_security/24_secrets_ci_cd/references/links.md b/modules/16_modern_security/24_secrets_ci_cd/references/links.md similarity index 100% rename from 16_modern_security/24_secrets_ci_cd/references/links.md rename to modules/16_modern_security/24_secrets_ci_cd/references/links.md diff --git a/16_modern_security/24_secrets_ci_cd/tests/test_basic.py b/modules/16_modern_security/24_secrets_ci_cd/tests/test_basic.py similarity index 100% rename from 16_modern_security/24_secrets_ci_cd/tests/test_basic.py rename to modules/16_modern_security/24_secrets_ci_cd/tests/test_basic.py diff --git a/16_modern_security/25_sops_introduction/README.md b/modules/16_modern_security/25_sops_introduction/README.md similarity index 100% rename from 16_modern_security/25_sops_introduction/README.md rename to modules/16_modern_security/25_sops_introduction/README.md diff --git a/16_modern_security/25_sops_introduction/examples/example_basic.py b/modules/16_modern_security/25_sops_introduction/examples/example_basic.py similarity index 100% rename from 16_modern_security/25_sops_introduction/examples/example_basic.py rename to modules/16_modern_security/25_sops_introduction/examples/example_basic.py diff --git a/16_modern_security/25_sops_introduction/exercise/exercise_01.py b/modules/16_modern_security/25_sops_introduction/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/25_sops_introduction/exercise/exercise_01.py rename to modules/16_modern_security/25_sops_introduction/exercise/exercise_01.py diff --git a/16_modern_security/25_sops_introduction/references/links.md b/modules/16_modern_security/25_sops_introduction/references/links.md similarity index 100% rename from 16_modern_security/25_sops_introduction/references/links.md rename to modules/16_modern_security/25_sops_introduction/references/links.md diff --git a/16_modern_security/25_sops_introduction/tests/test_basic.py b/modules/16_modern_security/25_sops_introduction/tests/test_basic.py similarity index 100% rename from 16_modern_security/25_sops_introduction/tests/test_basic.py rename to modules/16_modern_security/25_sops_introduction/tests/test_basic.py diff --git a/16_modern_security/26_sops_backends_age_kms/README.md b/modules/16_modern_security/26_sops_backends_age_kms/README.md similarity index 100% rename from 16_modern_security/26_sops_backends_age_kms/README.md rename to modules/16_modern_security/26_sops_backends_age_kms/README.md diff --git a/16_modern_security/26_sops_backends_age_kms/examples/example_basic.py b/modules/16_modern_security/26_sops_backends_age_kms/examples/example_basic.py similarity index 100% rename from 16_modern_security/26_sops_backends_age_kms/examples/example_basic.py rename to modules/16_modern_security/26_sops_backends_age_kms/examples/example_basic.py diff --git a/16_modern_security/26_sops_backends_age_kms/exercise/exercise_01.py b/modules/16_modern_security/26_sops_backends_age_kms/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/26_sops_backends_age_kms/exercise/exercise_01.py rename to modules/16_modern_security/26_sops_backends_age_kms/exercise/exercise_01.py diff --git a/16_modern_security/26_sops_backends_age_kms/references/links.md b/modules/16_modern_security/26_sops_backends_age_kms/references/links.md similarity index 100% rename from 16_modern_security/26_sops_backends_age_kms/references/links.md rename to modules/16_modern_security/26_sops_backends_age_kms/references/links.md diff --git a/16_modern_security/26_sops_backends_age_kms/tests/test_basic.py b/modules/16_modern_security/26_sops_backends_age_kms/tests/test_basic.py similarity index 100% rename from 16_modern_security/26_sops_backends_age_kms/tests/test_basic.py rename to modules/16_modern_security/26_sops_backends_age_kms/tests/test_basic.py diff --git a/16_modern_security/27_sops_yaml_json/README.md b/modules/16_modern_security/27_sops_yaml_json/README.md similarity index 100% rename from 16_modern_security/27_sops_yaml_json/README.md rename to modules/16_modern_security/27_sops_yaml_json/README.md diff --git a/16_modern_security/27_sops_yaml_json/examples/example_basic.py b/modules/16_modern_security/27_sops_yaml_json/examples/example_basic.py similarity index 100% rename from 16_modern_security/27_sops_yaml_json/examples/example_basic.py rename to modules/16_modern_security/27_sops_yaml_json/examples/example_basic.py diff --git a/16_modern_security/27_sops_yaml_json/exercise/exercise_01.py b/modules/16_modern_security/27_sops_yaml_json/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/27_sops_yaml_json/exercise/exercise_01.py rename to modules/16_modern_security/27_sops_yaml_json/exercise/exercise_01.py diff --git a/16_modern_security/27_sops_yaml_json/references/links.md b/modules/16_modern_security/27_sops_yaml_json/references/links.md similarity index 100% rename from 16_modern_security/27_sops_yaml_json/references/links.md rename to modules/16_modern_security/27_sops_yaml_json/references/links.md diff --git a/16_modern_security/27_sops_yaml_json/tests/test_basic.py b/modules/16_modern_security/27_sops_yaml_json/tests/test_basic.py similarity index 100% rename from 16_modern_security/27_sops_yaml_json/tests/test_basic.py rename to modules/16_modern_security/27_sops_yaml_json/tests/test_basic.py diff --git a/16_modern_security/28_sops_git_integration/README.md b/modules/16_modern_security/28_sops_git_integration/README.md similarity index 100% rename from 16_modern_security/28_sops_git_integration/README.md rename to modules/16_modern_security/28_sops_git_integration/README.md diff --git a/16_modern_security/28_sops_git_integration/examples/example_basic.py b/modules/16_modern_security/28_sops_git_integration/examples/example_basic.py similarity index 100% rename from 16_modern_security/28_sops_git_integration/examples/example_basic.py rename to modules/16_modern_security/28_sops_git_integration/examples/example_basic.py diff --git a/16_modern_security/28_sops_git_integration/exercise/exercise_01.py b/modules/16_modern_security/28_sops_git_integration/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/28_sops_git_integration/exercise/exercise_01.py rename to modules/16_modern_security/28_sops_git_integration/exercise/exercise_01.py diff --git a/16_modern_security/28_sops_git_integration/references/links.md b/modules/16_modern_security/28_sops_git_integration/references/links.md similarity index 100% rename from 16_modern_security/28_sops_git_integration/references/links.md rename to modules/16_modern_security/28_sops_git_integration/references/links.md diff --git a/16_modern_security/28_sops_git_integration/tests/test_basic.py b/modules/16_modern_security/28_sops_git_integration/tests/test_basic.py similarity index 100% rename from 16_modern_security/28_sops_git_integration/tests/test_basic.py rename to modules/16_modern_security/28_sops_git_integration/tests/test_basic.py diff --git a/16_modern_security/29_key_rotation_sops/README.md b/modules/16_modern_security/29_key_rotation_sops/README.md similarity index 100% rename from 16_modern_security/29_key_rotation_sops/README.md rename to modules/16_modern_security/29_key_rotation_sops/README.md diff --git a/16_modern_security/29_key_rotation_sops/examples/example_basic.py b/modules/16_modern_security/29_key_rotation_sops/examples/example_basic.py similarity index 100% rename from 16_modern_security/29_key_rotation_sops/examples/example_basic.py rename to modules/16_modern_security/29_key_rotation_sops/examples/example_basic.py diff --git a/16_modern_security/29_key_rotation_sops/exercise/exercise_01.py b/modules/16_modern_security/29_key_rotation_sops/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/29_key_rotation_sops/exercise/exercise_01.py rename to modules/16_modern_security/29_key_rotation_sops/exercise/exercise_01.py diff --git a/16_modern_security/29_key_rotation_sops/references/links.md b/modules/16_modern_security/29_key_rotation_sops/references/links.md similarity index 100% rename from 16_modern_security/29_key_rotation_sops/references/links.md rename to modules/16_modern_security/29_key_rotation_sops/references/links.md diff --git a/16_modern_security/29_key_rotation_sops/tests/test_basic.py b/modules/16_modern_security/29_key_rotation_sops/tests/test_basic.py similarity index 100% rename from 16_modern_security/29_key_rotation_sops/tests/test_basic.py rename to modules/16_modern_security/29_key_rotation_sops/tests/test_basic.py diff --git a/16_modern_security/30_vault_architecture/README.md b/modules/16_modern_security/30_vault_architecture/README.md similarity index 100% rename from 16_modern_security/30_vault_architecture/README.md rename to modules/16_modern_security/30_vault_architecture/README.md diff --git a/16_modern_security/30_vault_architecture/examples/example_basic.py b/modules/16_modern_security/30_vault_architecture/examples/example_basic.py similarity index 100% rename from 16_modern_security/30_vault_architecture/examples/example_basic.py rename to modules/16_modern_security/30_vault_architecture/examples/example_basic.py diff --git a/16_modern_security/30_vault_architecture/exercise/exercise_01.py b/modules/16_modern_security/30_vault_architecture/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/30_vault_architecture/exercise/exercise_01.py rename to modules/16_modern_security/30_vault_architecture/exercise/exercise_01.py diff --git a/16_modern_security/30_vault_architecture/references/links.md b/modules/16_modern_security/30_vault_architecture/references/links.md similarity index 100% rename from 16_modern_security/30_vault_architecture/references/links.md rename to modules/16_modern_security/30_vault_architecture/references/links.md diff --git a/16_modern_security/30_vault_architecture/tests/test_basic.py b/modules/16_modern_security/30_vault_architecture/tests/test_basic.py similarity index 100% rename from 16_modern_security/30_vault_architecture/tests/test_basic.py rename to modules/16_modern_security/30_vault_architecture/tests/test_basic.py diff --git a/16_modern_security/31_dynamic_secrets_vault/README.md b/modules/16_modern_security/31_dynamic_secrets_vault/README.md similarity index 100% rename from 16_modern_security/31_dynamic_secrets_vault/README.md rename to modules/16_modern_security/31_dynamic_secrets_vault/README.md diff --git a/16_modern_security/31_dynamic_secrets_vault/examples/example_basic.py b/modules/16_modern_security/31_dynamic_secrets_vault/examples/example_basic.py similarity index 100% rename from 16_modern_security/31_dynamic_secrets_vault/examples/example_basic.py rename to modules/16_modern_security/31_dynamic_secrets_vault/examples/example_basic.py diff --git a/16_modern_security/31_dynamic_secrets_vault/exercise/exercise_01.py b/modules/16_modern_security/31_dynamic_secrets_vault/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/31_dynamic_secrets_vault/exercise/exercise_01.py rename to modules/16_modern_security/31_dynamic_secrets_vault/exercise/exercise_01.py diff --git a/16_modern_security/31_dynamic_secrets_vault/references/links.md b/modules/16_modern_security/31_dynamic_secrets_vault/references/links.md similarity index 100% rename from 16_modern_security/31_dynamic_secrets_vault/references/links.md rename to modules/16_modern_security/31_dynamic_secrets_vault/references/links.md diff --git a/16_modern_security/31_dynamic_secrets_vault/tests/test_basic.py b/modules/16_modern_security/31_dynamic_secrets_vault/tests/test_basic.py similarity index 100% rename from 16_modern_security/31_dynamic_secrets_vault/tests/test_basic.py rename to modules/16_modern_security/31_dynamic_secrets_vault/tests/test_basic.py diff --git a/16_modern_security/32_vault_agents/README.md b/modules/16_modern_security/32_vault_agents/README.md similarity index 100% rename from 16_modern_security/32_vault_agents/README.md rename to modules/16_modern_security/32_vault_agents/README.md diff --git a/16_modern_security/32_vault_agents/examples/example_basic.py b/modules/16_modern_security/32_vault_agents/examples/example_basic.py similarity index 100% rename from 16_modern_security/32_vault_agents/examples/example_basic.py rename to modules/16_modern_security/32_vault_agents/examples/example_basic.py diff --git a/16_modern_security/32_vault_agents/exercise/exercise_01.py b/modules/16_modern_security/32_vault_agents/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/32_vault_agents/exercise/exercise_01.py rename to modules/16_modern_security/32_vault_agents/exercise/exercise_01.py diff --git a/16_modern_security/32_vault_agents/references/links.md b/modules/16_modern_security/32_vault_agents/references/links.md similarity index 100% rename from 16_modern_security/32_vault_agents/references/links.md rename to modules/16_modern_security/32_vault_agents/references/links.md diff --git a/16_modern_security/32_vault_agents/tests/test_basic.py b/modules/16_modern_security/32_vault_agents/tests/test_basic.py similarity index 100% rename from 16_modern_security/32_vault_agents/tests/test_basic.py rename to modules/16_modern_security/32_vault_agents/tests/test_basic.py diff --git a/16_modern_security/33_vault_python_hvac/README.md b/modules/16_modern_security/33_vault_python_hvac/README.md similarity index 100% rename from 16_modern_security/33_vault_python_hvac/README.md rename to modules/16_modern_security/33_vault_python_hvac/README.md diff --git a/16_modern_security/33_vault_python_hvac/examples/example_basic.py b/modules/16_modern_security/33_vault_python_hvac/examples/example_basic.py similarity index 100% rename from 16_modern_security/33_vault_python_hvac/examples/example_basic.py rename to modules/16_modern_security/33_vault_python_hvac/examples/example_basic.py diff --git a/16_modern_security/33_vault_python_hvac/exercise/exercise_01.py b/modules/16_modern_security/33_vault_python_hvac/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/33_vault_python_hvac/exercise/exercise_01.py rename to modules/16_modern_security/33_vault_python_hvac/exercise/exercise_01.py diff --git a/16_modern_security/33_vault_python_hvac/references/links.md b/modules/16_modern_security/33_vault_python_hvac/references/links.md similarity index 100% rename from 16_modern_security/33_vault_python_hvac/references/links.md rename to modules/16_modern_security/33_vault_python_hvac/references/links.md diff --git a/16_modern_security/33_vault_python_hvac/tests/test_basic.py b/modules/16_modern_security/33_vault_python_hvac/tests/test_basic.py similarity index 100% rename from 16_modern_security/33_vault_python_hvac/tests/test_basic.py rename to modules/16_modern_security/33_vault_python_hvac/tests/test_basic.py diff --git a/16_modern_security/34_vault_kubernetes/README.md b/modules/16_modern_security/34_vault_kubernetes/README.md similarity index 100% rename from 16_modern_security/34_vault_kubernetes/README.md rename to modules/16_modern_security/34_vault_kubernetes/README.md diff --git a/16_modern_security/34_vault_kubernetes/examples/example_basic.py b/modules/16_modern_security/34_vault_kubernetes/examples/example_basic.py similarity index 100% rename from 16_modern_security/34_vault_kubernetes/examples/example_basic.py rename to modules/16_modern_security/34_vault_kubernetes/examples/example_basic.py diff --git a/16_modern_security/34_vault_kubernetes/exercise/exercise_01.py b/modules/16_modern_security/34_vault_kubernetes/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/34_vault_kubernetes/exercise/exercise_01.py rename to modules/16_modern_security/34_vault_kubernetes/exercise/exercise_01.py diff --git a/16_modern_security/34_vault_kubernetes/references/links.md b/modules/16_modern_security/34_vault_kubernetes/references/links.md similarity index 100% rename from 16_modern_security/34_vault_kubernetes/references/links.md rename to modules/16_modern_security/34_vault_kubernetes/references/links.md diff --git a/16_modern_security/34_vault_kubernetes/tests/test_basic.py b/modules/16_modern_security/34_vault_kubernetes/tests/test_basic.py similarity index 100% rename from 16_modern_security/34_vault_kubernetes/tests/test_basic.py rename to modules/16_modern_security/34_vault_kubernetes/tests/test_basic.py diff --git a/16_modern_security/35_kubernetes_secrets/README.md b/modules/16_modern_security/35_kubernetes_secrets/README.md similarity index 100% rename from 16_modern_security/35_kubernetes_secrets/README.md rename to modules/16_modern_security/35_kubernetes_secrets/README.md diff --git a/16_modern_security/35_kubernetes_secrets/examples/example_basic.py b/modules/16_modern_security/35_kubernetes_secrets/examples/example_basic.py similarity index 100% rename from 16_modern_security/35_kubernetes_secrets/examples/example_basic.py rename to modules/16_modern_security/35_kubernetes_secrets/examples/example_basic.py diff --git a/16_modern_security/35_kubernetes_secrets/exercise/exercise_01.py b/modules/16_modern_security/35_kubernetes_secrets/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/35_kubernetes_secrets/exercise/exercise_01.py rename to modules/16_modern_security/35_kubernetes_secrets/exercise/exercise_01.py diff --git a/16_modern_security/35_kubernetes_secrets/references/links.md b/modules/16_modern_security/35_kubernetes_secrets/references/links.md similarity index 100% rename from 16_modern_security/35_kubernetes_secrets/references/links.md rename to modules/16_modern_security/35_kubernetes_secrets/references/links.md diff --git a/16_modern_security/35_kubernetes_secrets/tests/test_basic.py b/modules/16_modern_security/35_kubernetes_secrets/tests/test_basic.py similarity index 100% rename from 16_modern_security/35_kubernetes_secrets/tests/test_basic.py rename to modules/16_modern_security/35_kubernetes_secrets/tests/test_basic.py diff --git a/16_modern_security/36_external_secrets_operator/README.md b/modules/16_modern_security/36_external_secrets_operator/README.md similarity index 100% rename from 16_modern_security/36_external_secrets_operator/README.md rename to modules/16_modern_security/36_external_secrets_operator/README.md diff --git a/16_modern_security/36_external_secrets_operator/examples/example_basic.py b/modules/16_modern_security/36_external_secrets_operator/examples/example_basic.py similarity index 100% rename from 16_modern_security/36_external_secrets_operator/examples/example_basic.py rename to modules/16_modern_security/36_external_secrets_operator/examples/example_basic.py diff --git a/16_modern_security/36_external_secrets_operator/exercise/exercise_01.py b/modules/16_modern_security/36_external_secrets_operator/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/36_external_secrets_operator/exercise/exercise_01.py rename to modules/16_modern_security/36_external_secrets_operator/exercise/exercise_01.py diff --git a/16_modern_security/36_external_secrets_operator/references/links.md b/modules/16_modern_security/36_external_secrets_operator/references/links.md similarity index 100% rename from 16_modern_security/36_external_secrets_operator/references/links.md rename to modules/16_modern_security/36_external_secrets_operator/references/links.md diff --git a/16_modern_security/36_external_secrets_operator/tests/test_basic.py b/modules/16_modern_security/36_external_secrets_operator/tests/test_basic.py similarity index 100% rename from 16_modern_security/36_external_secrets_operator/tests/test_basic.py rename to modules/16_modern_security/36_external_secrets_operator/tests/test_basic.py diff --git a/16_modern_security/37_sealed_secrets/README.md b/modules/16_modern_security/37_sealed_secrets/README.md similarity index 100% rename from 16_modern_security/37_sealed_secrets/README.md rename to modules/16_modern_security/37_sealed_secrets/README.md diff --git a/16_modern_security/37_sealed_secrets/examples/example_basic.py b/modules/16_modern_security/37_sealed_secrets/examples/example_basic.py similarity index 100% rename from 16_modern_security/37_sealed_secrets/examples/example_basic.py rename to modules/16_modern_security/37_sealed_secrets/examples/example_basic.py diff --git a/16_modern_security/37_sealed_secrets/exercise/exercise_01.py b/modules/16_modern_security/37_sealed_secrets/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/37_sealed_secrets/exercise/exercise_01.py rename to modules/16_modern_security/37_sealed_secrets/exercise/exercise_01.py diff --git a/16_modern_security/37_sealed_secrets/references/links.md b/modules/16_modern_security/37_sealed_secrets/references/links.md similarity index 100% rename from 16_modern_security/37_sealed_secrets/references/links.md rename to modules/16_modern_security/37_sealed_secrets/references/links.md diff --git a/16_modern_security/37_sealed_secrets/tests/test_basic.py b/modules/16_modern_security/37_sealed_secrets/tests/test_basic.py similarity index 100% rename from 16_modern_security/37_sealed_secrets/tests/test_basic.py rename to modules/16_modern_security/37_sealed_secrets/tests/test_basic.py diff --git a/16_modern_security/38_input_validation/README.md b/modules/16_modern_security/38_input_validation/README.md similarity index 100% rename from 16_modern_security/38_input_validation/README.md rename to modules/16_modern_security/38_input_validation/README.md diff --git a/16_modern_security/38_input_validation/examples/example_basic.py b/modules/16_modern_security/38_input_validation/examples/example_basic.py similarity index 100% rename from 16_modern_security/38_input_validation/examples/example_basic.py rename to modules/16_modern_security/38_input_validation/examples/example_basic.py diff --git a/16_modern_security/38_input_validation/exercise/exercise_01.py b/modules/16_modern_security/38_input_validation/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/38_input_validation/exercise/exercise_01.py rename to modules/16_modern_security/38_input_validation/exercise/exercise_01.py diff --git a/16_modern_security/38_input_validation/references/links.md b/modules/16_modern_security/38_input_validation/references/links.md similarity index 100% rename from 16_modern_security/38_input_validation/references/links.md rename to modules/16_modern_security/38_input_validation/references/links.md diff --git a/16_modern_security/38_input_validation/tests/test_basic.py b/modules/16_modern_security/38_input_validation/tests/test_basic.py similarity index 100% rename from 16_modern_security/38_input_validation/tests/test_basic.py rename to modules/16_modern_security/38_input_validation/tests/test_basic.py diff --git a/16_modern_security/39_sql_injection_prevention/README.md b/modules/16_modern_security/39_sql_injection_prevention/README.md similarity index 100% rename from 16_modern_security/39_sql_injection_prevention/README.md rename to modules/16_modern_security/39_sql_injection_prevention/README.md diff --git a/16_modern_security/39_sql_injection_prevention/examples/example_basic.py b/modules/16_modern_security/39_sql_injection_prevention/examples/example_basic.py similarity index 100% rename from 16_modern_security/39_sql_injection_prevention/examples/example_basic.py rename to modules/16_modern_security/39_sql_injection_prevention/examples/example_basic.py diff --git a/16_modern_security/39_sql_injection_prevention/exercise/exercise_01.py b/modules/16_modern_security/39_sql_injection_prevention/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/39_sql_injection_prevention/exercise/exercise_01.py rename to modules/16_modern_security/39_sql_injection_prevention/exercise/exercise_01.py diff --git a/16_modern_security/39_sql_injection_prevention/references/links.md b/modules/16_modern_security/39_sql_injection_prevention/references/links.md similarity index 100% rename from 16_modern_security/39_sql_injection_prevention/references/links.md rename to modules/16_modern_security/39_sql_injection_prevention/references/links.md diff --git a/16_modern_security/39_sql_injection_prevention/tests/test_basic.py b/modules/16_modern_security/39_sql_injection_prevention/tests/test_basic.py similarity index 100% rename from 16_modern_security/39_sql_injection_prevention/tests/test_basic.py rename to modules/16_modern_security/39_sql_injection_prevention/tests/test_basic.py diff --git a/16_modern_security/40_xss_csrf_prevention/README.md b/modules/16_modern_security/40_xss_csrf_prevention/README.md similarity index 100% rename from 16_modern_security/40_xss_csrf_prevention/README.md rename to modules/16_modern_security/40_xss_csrf_prevention/README.md diff --git a/16_modern_security/40_xss_csrf_prevention/examples/example_basic.py b/modules/16_modern_security/40_xss_csrf_prevention/examples/example_basic.py similarity index 100% rename from 16_modern_security/40_xss_csrf_prevention/examples/example_basic.py rename to modules/16_modern_security/40_xss_csrf_prevention/examples/example_basic.py diff --git a/16_modern_security/40_xss_csrf_prevention/exercise/exercise_01.py b/modules/16_modern_security/40_xss_csrf_prevention/exercise/exercise_01.py similarity index 100% rename from 16_modern_security/40_xss_csrf_prevention/exercise/exercise_01.py rename to modules/16_modern_security/40_xss_csrf_prevention/exercise/exercise_01.py diff --git a/16_modern_security/40_xss_csrf_prevention/references/links.md b/modules/16_modern_security/40_xss_csrf_prevention/references/links.md similarity index 100% rename from 16_modern_security/40_xss_csrf_prevention/references/links.md rename to modules/16_modern_security/40_xss_csrf_prevention/references/links.md diff --git a/16_modern_security/40_xss_csrf_prevention/tests/test_basic.py b/modules/16_modern_security/40_xss_csrf_prevention/tests/test_basic.py similarity index 100% rename from 16_modern_security/40_xss_csrf_prevention/tests/test_basic.py rename to modules/16_modern_security/40_xss_csrf_prevention/tests/test_basic.py diff --git a/scripts/audit_nan_modules.py b/scripts/audit_nan_modules.py index 97a4fe3d..ed0e1472 100755 --- a/scripts/audit_nan_modules.py +++ b/scripts/audit_nan_modules.py @@ -76,8 +76,9 @@ class Hit: def iter_modules(repo_root: Path) -> list[Path]: + modules_root = repo_root / "modules" return sorted( - path for path in repo_root.iterdir() if path.is_dir() and re.match(r"^\d{2}_", path.name) + path for path in modules_root.iterdir() if path.is_dir() and re.match(r"^\d{2}_", path.name) ) diff --git a/scripts/generate_structure.py b/scripts/generate_structure.py index 16f69534..23335278 100644 --- a/scripts/generate_structure.py +++ b/scripts/generate_structure.py @@ -403,7 +403,7 @@ def create_module(base_path: Path, module_name: str, module_info: dict) -> None: def main() -> None: """Generate the complete project structure.""" - base_path = Path(__file__).parent.parent + base_path = Path(__file__).parent.parent / "modules" print("🚀 Generating module structure...") print() diff --git a/scripts/link_check.py b/scripts/link_check.py index 300e2e0c..edffa321 100755 --- a/scripts/link_check.py +++ b/scripts/link_check.py @@ -22,6 +22,7 @@ from pathlib import Path ROOT = Path(__file__).resolve().parent.parent +MODULES_ROOT = ROOT / "modules" URL_RE = re.compile(r"https://[^\s)\"']+") TIMEOUT = 8 @@ -63,7 +64,7 @@ def main() -> int: parser.add_argument("--workers", type=int, default=8) args = parser.parse_args() - scope = ROOT / args.topic if args.topic else ROOT + scope = MODULES_ROOT / args.topic if args.topic else MODULES_ROOT if not scope.exists(): print(f"scope not found: {scope}", file=sys.stderr) return 2 diff --git a/scripts/progress.py b/scripts/progress.py index 673cd93f..faf7a851 100755 --- a/scripts/progress.py +++ b/scripts/progress.py @@ -156,7 +156,7 @@ def main() -> None: base_path = Path(__file__).parent.parent print("🔍 Scanning modules and topics...") - progress = scan_modules(base_path) + progress = scan_modules(base_path / "modules") print("📝 Generating progress table...") progress_table = generate_progress_table(progress) diff --git a/scripts/run_topic_tests.py b/scripts/run_topic_tests.py index b3424809..ecb6fb4d 100755 --- a/scripts/run_topic_tests.py +++ b/scripts/run_topic_tests.py @@ -21,9 +21,13 @@ def discover_test_files() -> list[Path]: def resolve_target(target: str) -> list[Path]: - path = (REPO_ROOT / target).resolve() - if not path.exists(): + candidate = (REPO_ROOT / target).resolve() + if not candidate.exists(): + # Fallback: try under modules/ (post-refactor layout) + candidate = (REPO_ROOT / "modules" / target).resolve() + if not candidate.exists(): raise FileNotFoundError(f"Target not found: {target}") + path = candidate if path.is_file(): if path.name != "test_basic.py": diff --git a/scripts/validate_all_modules.py b/scripts/validate_all_modules.py index 255885a5..52bc2f29 100644 --- a/scripts/validate_all_modules.py +++ b/scripts/validate_all_modules.py @@ -100,8 +100,9 @@ def topic_counts(self) -> tuple[int, int]: def iter_modules(repo_root: Path, only_module: str | None) -> list[Path]: + modules_root = repo_root / "modules" all_modules = sorted( - p for p in repo_root.iterdir() if p.is_dir() and re.match(r"^\d{2}_", p.name) + p for p in modules_root.iterdir() if p.is_dir() and re.match(r"^\d{2}_", p.name) ) if only_module: return [m for m in all_modules if m.name == only_module] diff --git a/scripts/validate_nan_language.py b/scripts/validate_nan_language.py index 599f7f86..ccff72ed 100644 --- a/scripts/validate_nan_language.py +++ b/scripts/validate_nan_language.py @@ -50,7 +50,7 @@ def main() -> int: args = parser.parse_args() repo_root = Path(__file__).resolve().parents[1] - module_path = repo_root / args.module + module_path = repo_root / "modules" / args.module if not module_path.exists(): print(f"ERROR: module path not found: {module_path}")