diff --git a/docs/blueprints/app_admin/uml/domain_model/admin_domain_model.png b/docs/blueprints/app_admin/uml_implementation/admin_domain_model.png
similarity index 100%
rename from docs/blueprints/app_admin/uml/domain_model/admin_domain_model.png
rename to docs/blueprints/app_admin/uml_implementation/admin_domain_model.png
diff --git a/docs/blueprints/app_admin/uml/domain_model/admin_domain_model.txt b/docs/blueprints/app_admin/uml_implementation/admin_domain_model.txt
similarity index 100%
rename from docs/blueprints/app_admin/uml/domain_model/admin_domain_model.txt
rename to docs/blueprints/app_admin/uml_implementation/admin_domain_model.txt
diff --git a/docs/blueprints/app_admin/uml/use_cases/admin_use_cases.png b/docs/blueprints/app_admin/uml_implementation/admin_use_cases.png
similarity index 100%
rename from docs/blueprints/app_admin/uml/use_cases/admin_use_cases.png
rename to docs/blueprints/app_admin/uml_implementation/admin_use_cases.png
diff --git a/docs/blueprints/app_admin/uml/use_cases/admin_use_cases.txt b/docs/blueprints/app_admin/uml_implementation/admin_use_cases.txt
similarity index 100%
rename from docs/blueprints/app_admin/uml/use_cases/admin_use_cases.txt
rename to docs/blueprints/app_admin/uml_implementation/admin_use_cases.txt
diff --git a/docs/blueprints/app_all/uml/domain_model/application_domain_model.png b/docs/blueprints/app_all/uml_requirements/application_domain_model.png
similarity index 100%
rename from docs/blueprints/app_all/uml/domain_model/application_domain_model.png
rename to docs/blueprints/app_all/uml_requirements/application_domain_model.png
diff --git a/docs/blueprints/app_all/uml/domain_model/application_domain_model.txt b/docs/blueprints/app_all/uml_requirements/application_domain_model.txt
similarity index 100%
rename from docs/blueprints/app_all/uml/domain_model/application_domain_model.txt
rename to docs/blueprints/app_all/uml_requirements/application_domain_model.txt
diff --git a/docs/blueprints/app_all/uml/use_cases/application_use_cases.png b/docs/blueprints/app_all/uml_requirements/application_use_cases.png
similarity index 100%
rename from docs/blueprints/app_all/uml/use_cases/application_use_cases.png
rename to docs/blueprints/app_all/uml_requirements/application_use_cases.png
diff --git a/docs/blueprints/app_all/uml/use_cases/application_use_cases.txt b/docs/blueprints/app_all/uml_requirements/application_use_cases.txt
similarity index 100%
rename from docs/blueprints/app_all/uml/use_cases/application_use_cases.txt
rename to docs/blueprints/app_all/uml_requirements/application_use_cases.txt
diff --git a/docs/blueprints/who/uml_requirements/application_domain_model.png b/docs/blueprints/who/uml_requirements/application_domain_model.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fbd38afa4d0392717b40d36d278ef89098b1e8b
Binary files /dev/null and b/docs/blueprints/who/uml_requirements/application_domain_model.png differ
diff --git a/docs/blueprints/who/uml_requirements/application_domain_model.txt b/docs/blueprints/who/uml_requirements/application_domain_model.txt
new file mode 100644
index 0000000000000000000000000000000000000000..99d3544a4c1b381096ee809c773ba0be93197df6
--- /dev/null
+++ b/docs/blueprints/who/uml_requirements/application_domain_model.txt
@@ -0,0 +1,162 @@
+@startuml
+entity ApplicationDateReported {
+    id: Integer
+	date_reported:  String
+    year_week:  String
+    datum: Date
+    year: Integer
+    month: Integer
+    day_of_month: Integer
+    day_of_week: Integer
+    week_of_year: Integer
+	get_name_for_weekday()
+	{classifier} get_names_for_weekday()
+	{classifier} get_datum_parts(my_date_rep: String)
+	{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer)
+	{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer)
+	{classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
+	{classifier} create_new_object_factory(my_date_rep: String)
+}
+entity ApplicationRegion {
+    id: Integer
+    continent:  String
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+entity RkiDateReported {
+    id: Integer
+	date_reported: String
+    year_week: String
+    datum: Date
+    year: Integer
+    month: Integer
+    day_of_month: Integer
+    day_of_week: Integer
+    week_of_year: Integer
+	get_name_for_weekday()
+	{classifier} get_names_for_weekday()
+	{classifier} get_datum_parts(my_date_rep: String)
+	{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer)
+	{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer)
+	{classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
+	{classifier} create_new_object_factory(my_date_rep: String)
+}
+class ApplicationPage << (T,#FF7700) Transient >> {
+	title: String
+	subtitle: String
+	subtitle_info: String
+}
+class ApplicationServiceConfig << (T,#FF7700) Transient >> {
+	limit_nr: Integer
+    data_path: String
+    slug: String
+    category: String
+    sub_category: String
+    tablename: String
+    cvsfile_name: String
+    url_src: String
+    cvsfile_path: String
+    msg_job: String
+    msg_ok: String
+    msg_error: String
+	create_config_for_who()
+	create_config_for_rki_vaccination()
+	create_config_for_owid()
+	create_config_for_ecdc()
+	create_config_for_rki_bundeslaender()
+	create_config_for_rki_landkreise()
+}
+class ApplicationServiceDownload << (S,red) Service >> {
+	-log_error()
+	-log_success()
+	-prepare_download()
+	-download_with_wget()
+	-download_with_subprocess_and_os_native_wget()
+	download_file()
+}
+class database << (S,#FF7700) Singleton >> {
+	{static} int port
+	{static} bool run_run_with_debug
+	{static} int ITEMS_PER_PAGE
+	app: Flask
+	db: SQLAlchemy
+	admin: Admin
+	app_cors: CORS
+	app_bootstrap: Bootstrap
+	create_app()
+	create_db(my_app)
+	create_db_test(my_app)
+	create_celery(my_app)
+	create_admin(my_app)
+}
+class application_workers << (B,orchid) Boundary >> {
+	run_mq(my_app, my_celery)
+	run_app(my_app)
+}
+class application_views << (B,orchid) Boundary >> {
+	url_home()
+	url_root()
+}
+class application_services << (P,yellow) Proxy >> {
+
+}
+class ApplicationService << (S,red) Service >> {
+
+}
+class AdminService << (S,red) Service >> {
+
+}
+class WhoService << (S,red) Service >> {
+
+}
+class EcdcService << (S,red) Service >> {
+
+}
+class RkiVaccinationService << (S,red) Service >> {
+
+}
+class RkiBundeslaenderService << (S,red) Service >> {
+
+}
+class RkiLandkreiseService << (S,red) Service >> {
+
+}
+class OwidService << (S,red) Service >> {
+
+}
+ApplicationDateReported <|-- RkiDateReported
+ApplicationServiceDownload "*" --> "1"  ApplicationServiceConfig: cfg
+application_workers "1" --> "1" application_services: application_services
+application_views "1" --> "1" application_services: application_services
+application_views "*" --> "1" ApplicationPage: page_info
+application_services "*" --> "1" ApplicationService: application_service
+application_services "*" --> "1" AdminService: admin_service
+application_services "*" --> "1" WhoService: who_service
+application_services "*" --> "1" EcdcService: ecdc_service
+application_services "*" --> "1" RkiVaccinationService: rki_vaccination_service
+application_services "*" --> "1" RkiBundeslaenderService: rki_service_bundeslaender
+application_services "*" --> "1" RkiLandkreiseService: rki_service_landkreise
+application_services "*" --> "1" OwidService: owid_service
+ApplicationService "*" --> "1" database
+ApplicationServiceDownload "*" --> "1" database
+AdminService "*" --> "1" database
+WhoService "*" --> "1" database
+EcdcService "*" --> "1" database
+RkiBundeslaenderService "*" --> "1" database
+RkiLandkreiseService "*" --> "1" database
+RkiVaccinationService "*" --> "1" database
+OwidService "*" --> "1" database
+ApplicationService : SQLAlchemy database
+ApplicationServiceDownload : SQLAlchemy database
+AdminService : SQLAlchemy database
+WhoService : SQLAlchemy database
+EcdcService : SQLAlchemy database
+RkiBundeslaenderService : SQLAlchemy database
+RkiLandkreiseService : SQLAlchemy database
+RkiVaccinationService : SQLAlchemy database
+OwidService : SQLAlchemy database
+@enduml
diff --git a/docs/blueprints/who/uml_requirements/application_use_cases.png b/docs/blueprints/who/uml_requirements/application_use_cases.png
new file mode 100644
index 0000000000000000000000000000000000000000..b58eaaebcd65ab5fbb52c03918d11a11b1604f80
Binary files /dev/null and b/docs/blueprints/who/uml_requirements/application_use_cases.png differ
diff --git a/docs/blueprints/who/uml_requirements/application_use_cases.txt b/docs/blueprints/who/uml_requirements/application_use_cases.txt
new file mode 100644
index 0000000000000000000000000000000000000000..787d4b90ad657cc70bd71edd8d9240739ca9752e
--- /dev/null
+++ b/docs/blueprints/who/uml_requirements/application_use_cases.txt
@@ -0,0 +1,15 @@
+@startuml
+left to right direction
+left to right direction
+actor Visitor as vu
+package user {
+	actor SysAdmin as su
+	actor Admin as au
+}
+package application_views_frontend {
+  usecase url_home as UC1
+  usecase url_root as UC2
+}
+vu --> UC1
+vu --> UC2
+@enduml
\ No newline at end of file