diff --git a/.windsurfrules b/.windsurfrules
index 39abcff..9c428a3 100644
--- a/.windsurfrules
+++ b/.windsurfrules
@@ -1 +1,5 @@
-After each major successful test, please commit the changes to the repository with a meaningful commit message.
\ No newline at end of file
+Review the contensts of .note/ before modifying any files.
+
+After each major successful test, please commit the changes to the repository with a meaningful commit message.
+
+Update the contents of .note/ after each major change.
\ No newline at end of file
diff --git a/examples/__init__.py b/examples/__init__.py
new file mode 100644
index 0000000..04ab326
--- /dev/null
+++ b/examples/__init__.py
@@ -0,0 +1,4 @@
+"""
+Example scripts and data for the intelligent research system.
+This package contains example scripts and sample data that demonstrate the system's functionality.
+"""
diff --git a/examples/data/mk-query.txt b/examples/data/mk-query.txt
new file mode 100644
index 0000000..dc6bef7
--- /dev/null
+++ b/examples/data/mk-query.txt
@@ -0,0 +1 @@
+Please research and discuss the impact of the US Government sponsored mind-control experiment MKUltra on popular media, like TV shows, Movies, and Books.
diff --git a/sample_chunk.txt b/examples/data/sample_chunk.txt
similarity index 100%
rename from sample_chunk.txt
rename to examples/data/sample_chunk.txt
diff --git a/sample_query.txt b/examples/data/sample_query.txt
similarity index 100%
rename from sample_query.txt
rename to examples/data/sample_query.txt
diff --git a/examples/scripts/__init__.py b/examples/scripts/__init__.py
new file mode 100644
index 0000000..373f3cf
--- /dev/null
+++ b/examples/scripts/__init__.py
@@ -0,0 +1,4 @@
+"""
+Example scripts for the intelligent research system.
+This package contains example scripts that demonstrate the system's functionality.
+"""
diff --git a/report.md b/report.md
new file mode 100644
index 0000000..34655ed
--- /dev/null
+++ b/report.md
@@ -0,0 +1,58 @@
+**Report: Version Control, DevOps, and Agile Development with Plastic SCM**
+
+**Introduction**
+
+Plastic SCM is a version control system that supports DevOps and Agile development methodologies. It offers a range of features, including branching, merging, and collaboration, to help teams manage their software development projects. This report provides an overview of Plastic SCM, its features, and its use in DevOps and Agile development.
+
+**Key Features**
+
+Plastic SCM offers several key features that make it an attractive choice for teams. These include:
+
+* Branching: Plastic SCM allows teams to create branches for specific tasks or features, making it easy to manage multiple lines of development.
+* Merging: Plastic SCM's merging capabilities are robust and flexible, allowing teams to merge changes from multiple branches into a single branch.
+* Collaboration: Plastic SCM supports collaborative development, allowing teams to work together on projects and share changes easily.
+* Replication: Plastic SCM's replication feature allows teams to replicate their repository to multiple servers, making it easy to collaborate with team members and manage changes.
+
+**DevOps and Agile Development**
+
+Plastic SCM is well-suited for DevOps and Agile development methodologies. Its branching and merging features make it easy to manage multiple lines of development, and its collaboration features support collaborative development. The system also supports automated testing and continuous integration, making it easy to integrate with CI systems.
+
+The "Branch per task" pattern is a popular approach in Agile development, where each task is worked on in a separate branch. Plastic SCM supports this approach, allowing teams to create branches for specific tasks or features.
+
+**Merge Tracking**
+
+Merge tracking is a critical feature in Plastic SCM. It allows teams to track the history of merges and resolve conflicts easily. The system uses a changeset-based merge tracking algorithm, which ensures that merges are always done in a way that preserves branch history.
+
+**Directory Management**
+
+Plastic SCM's directory management features are designed to make it easy to manage large projects. The system supports empty directories and file moves, making it easy to refactor code and manage complex directory structures.
+
+**Conflict Resolution**
+
+Conflict resolution is an important aspect of merge tracking. Plastic SCM's conflict resolution algorithm is designed to resolve conflicts automatically, but it can also be configured to require manual intervention.
+
+**Partial Workspaces**
+
+Partial workspaces are a feature in Plastic SCM that allows teams to work on a subset of files in a repository. This is useful for teams that need to work on specific files or directories without affecting the rest of the repository.
+
+**DevOps Implementation**
+
+Plastic SCM can be used to implement DevOps in a variety of ways. One approach is to use the "Branch per task" pattern, where each task is worked on in a separate branch. This allows teams to automate testing and continuous integration, making it easy to integrate with CI systems.
+
+**Conclusion**
+
+Plastic SCM is a powerful version control system that supports DevOps and Agile development methodologies. Its features, including branching, merging, and collaboration, make it an attractive choice for teams. The system's merge tracking and conflict resolution algorithms ensure that merges are always done in a way that preserves branch history, and its directory management and conflict resolution features make it easy to manage complex projects.
+
+**References**
+
+[1] Plastic SCM documentation. (n.d.). Retrieved from
+
+[2] Plastic SCM blog. (n.d.). Retrieved from
+
+[3] Plastic SCM GitHub repository. (n.d.). Retrieved from
+
+[4] Standish Group. (2018). Chaos Report 2018. Retrieved from
+
+[5] VersionOne. (2019). State of Agile Report 2019. Retrieved from
+
+Note: The references listed above are a selection of the sources used to create this report. For a complete list of sources, please refer to the original document.
\ No newline at end of file
diff --git a/report/database/documents.db b/report/database/documents.db
index cf94a26..90ff916 100644
Binary files a/report/database/documents.db and b/report/database/documents.db differ
diff --git a/test_report.md b/test_report.md
new file mode 100644
index 0000000..5035fe6
--- /dev/null
+++ b/test_report.md
@@ -0,0 +1,37 @@
+**Report: Latest Advancements in Quantum Computing**
+
+Quantum computing has made significant progress in recent years, with breakthroughs in quantum algorithms, quantum error correction, and quantum control. Researchers have developed new quantum algorithms, such as the Quantum Approximate Optimization Algorithm (QAOA) and the Quantum Alternating Projection Algorithm (QAPA), which can solve complex optimization problems more efficiently than classical computers. Quantum error correction techniques, such as surface codes and topological codes, have been developed to mitigate the effects of decoherence and noise in quantum systems.
+
+The number of qubits in a quantum processor has increased rapidly, with IBM's 127-qubit Eagle processor and Google's 53-qubit Sycamore processor being notable examples. These advancements have enabled the simulation of complex quantum systems, such as chemical reactions and materials properties, with unprecedented accuracy. Quantum computing has also been explored for its potential to solve complex optimization problems, including logistics and finance.
+
+Quantum computing has the potential to revolutionize fields like chemistry, materials science, and machine learning. Companies like Google, IBM, and Microsoft are actively developing quantum computing hardware and software. The development of quantum computing is still in its early stages, and many technical challenges need to be overcome before it can be widely adopted.
+
+Research has made significant progress in Noisy Intermediate-Scale Quantum (NISQ) computing, which aims to solve real-world problems using noisy quantum systems. Quantum Physics-Informed Neural Networks (QPINN) have been developed to solve quantum physics problems. Google achieved quantum supremacy in 2019, and IBM unveiled a 400-qubit quantum processor in 2022.
+
+Quantum computing has several applications, including cryptography, optimization problems, and machine learning. Quantum computing can break certain classical encryption algorithms, but it can also be used to develop new quantum-resistant cryptographic techniques. Quantum computing has the potential to solve complex optimization problems, including logistics and finance.
+
+The development of quantum computing is a rapidly advancing field, with new breakthroughs and innovations emerging regularly. Quantum computing has the potential to revolutionize computation and tackle humanity's most complex problems. However, the development of quantum computing is still in its early stages, and many technical challenges need to be overcome before it can be widely adopted.
+
+**References:**
+
+[1] Arute et al. (2019). Quantum supremacy using a 53-qubit quantum computer. Nature, 574(7780), 505-510.
+
+[2] Calvo et al. (2023). Functional Matrices on Quantum Computing Simulation. Mathematics, 11, 3742.
+
+[3] Lau et al. (2022). NISQ computing: Where are we and where do we go? AAPPS Bull., 32, 27.
+
+[4] Google. (2019). Quantum Supremacy. Available online:
+
+[5] IBM. (2022). 400-Qubit Quantum Processor. Available online:
+
+[6] National Quantum Initiative. Available online:
+
+[7] Konig et al. (2005). On the power of quantum memory. IEEE Trans. Inf. Theory, 51, 2391-2401.
+
+[8] Vadyala et al. (2023). General implementation of quantum physics-informed neural networks. Array, 18, 100287.
+
+[9] Collins et al. (2022). IBM Unveils. Available online:
+
+[10] Google. (2023). The Quantum Insider. Available online:
+
+Note: The references provided are a selection of the sources used in the report and are not an exhaustive list.
\ No newline at end of file
diff --git a/tests/execution/__init__.py b/tests/execution/__init__.py
new file mode 100644
index 0000000..15f00a3
--- /dev/null
+++ b/tests/execution/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for the search execution module.
+"""
diff --git a/test_all_handlers.py b/tests/execution/test_all_handlers.py
similarity index 100%
rename from test_all_handlers.py
rename to tests/execution/test_all_handlers.py
diff --git a/test_search.py b/tests/execution/test_search.py
similarity index 100%
rename from test_search.py
rename to tests/execution/test_search.py
diff --git a/test_search_execution.py b/tests/execution/test_search_execution.py
similarity index 100%
rename from test_search_execution.py
rename to tests/execution/test_search_execution.py
diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py
new file mode 100644
index 0000000..d99e8fc
--- /dev/null
+++ b/tests/integration/__init__.py
@@ -0,0 +1,4 @@
+"""
+Integration tests for the intelligent research system.
+These tests verify the end-to-end functionality of the system.
+"""
diff --git a/scripts/test_ev_query.py b/tests/integration/test_ev_query.py
similarity index 100%
rename from scripts/test_ev_query.py
rename to tests/integration/test_ev_query.py
diff --git a/scripts/test_query_to_report.py b/tests/integration/test_query_to_report.py
similarity index 100%
rename from scripts/test_query_to_report.py
rename to tests/integration/test_query_to_report.py
diff --git a/tests/query/__init__.py b/tests/query/__init__.py
new file mode 100644
index 0000000..29e226a
--- /dev/null
+++ b/tests/query/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for the query processing module.
+"""
diff --git a/test_llm_interface.py b/tests/query/test_llm_interface.py
similarity index 100%
rename from test_llm_interface.py
rename to tests/query/test_llm_interface.py
diff --git a/test_query_processor.py b/tests/query/test_query_processor.py
similarity index 100%
rename from test_query_processor.py
rename to tests/query/test_query_processor.py
diff --git a/test_query_processor_comprehensive.py b/tests/query/test_query_processor_comprehensive.py
similarity index 100%
rename from test_query_processor_comprehensive.py
rename to tests/query/test_query_processor_comprehensive.py
diff --git a/tests/ranking/__init__.py b/tests/ranking/__init__.py
new file mode 100644
index 0000000..95e4b3b
--- /dev/null
+++ b/tests/ranking/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for the ranking module.
+"""
diff --git a/test_reranker.py b/tests/ranking/test_reranker.py
similarity index 100%
rename from test_reranker.py
rename to tests/ranking/test_reranker.py
diff --git a/test_similarity.py b/tests/ranking/test_similarity.py
similarity index 100%
rename from test_similarity.py
rename to tests/ranking/test_similarity.py
diff --git a/test_simple_reranker.py b/tests/ranking/test_simple_reranker.py
similarity index 100%
rename from test_simple_reranker.py
rename to tests/ranking/test_simple_reranker.py
diff --git a/tests/report/__init__.py b/tests/report/__init__.py
new file mode 100644
index 0000000..2bf856f
--- /dev/null
+++ b/tests/report/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for the report generation module.
+"""
diff --git a/scripts/test_custom_model.py b/tests/report/test_custom_model.py
similarity index 100%
rename from scripts/test_custom_model.py
rename to tests/report/test_custom_model.py
diff --git a/scripts/test_detail_levels.py b/tests/report/test_detail_levels.py
similarity index 100%
rename from scripts/test_detail_levels.py
rename to tests/report/test_detail_levels.py
diff --git a/tests/ui/__init__.py b/tests/ui/__init__.py
new file mode 100644
index 0000000..4ed009f
--- /dev/null
+++ b/tests/ui/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for the UI module.
+"""
diff --git a/test_ui_search.py b/tests/ui/test_ui_search.py
similarity index 100%
rename from test_ui_search.py
rename to tests/ui/test_ui_search.py
diff --git a/utils/__init__.py b/utils/__init__.py
new file mode 100644
index 0000000..3268da8
--- /dev/null
+++ b/utils/__init__.py
@@ -0,0 +1,4 @@
+"""
+Utility modules for the intelligent research system.
+This package contains utility functions and classes used across the system.
+"""
diff --git a/jina_similarity.py b/utils/jina_similarity.py
similarity index 100%
rename from jina_similarity.py
rename to utils/jina_similarity.py
diff --git a/markdown_segmenter.py b/utils/markdown_segmenter.py
similarity index 100%
rename from markdown_segmenter.py
rename to utils/markdown_segmenter.py