diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f7c46b6b9e6105ec1a066660b22721a70fc9ee04..b33adfa4fac4853abc795a783b57c8630d0f780a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ variables:
 ###
 stages:
   - yamllint
-  - upstream-trigger
+  - downstream-trigger
 
 ###
 ### SCRIPTS
@@ -41,7 +41,7 @@ yamllint-test:
     - yamllint .
 
 trigger-pipeline:
-  stage: upstream-trigger
+  stage: downstream-trigger
   variables:
     RUN_UPSTREAM_FOR_ROLE_DOCKER_IMAGES: true
   trigger:
diff --git a/defaults/main.yml b/defaults/main.yml
index 69c4150941e638cb3d738bd7f9a87c77c5853b20..beeb6176ec3254d38850ac20770169534542f1b0 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -2,17 +2,7 @@
 # defaults file for docker-images
 
 ###
-### roles/clone_repositories
-###
-c3infodesk_printer_clone_printer: true
-
-c3infodesk_deployment_repository_url: "https://git.cccv.de/fejao/c3infodesk-printer.git"
-c3infodesk_deployment_repository_dest_folder: "Coding/c3infodesk-printer"
-c3infodesk_deployment_repository_branch_change: true
-c3infodesk_deployment_repository_branch_name: "example_printer_test_branch"
-
-###
-### roles/docker-images
+### roles/docker-images  ---> setted for c3infodesk-printer
 ###
 c3infodesk_deployment_paht_docker_folder: "Coding/c3infodesk-printer/docker"
 
diff --git a/meta/main.yml b/meta/main.yml
index a2c0e3af235899ff5feb940c2ceb7cf60890cdd0..0f9289875823562cfa58d24b976df6cf5c2aebc9 100644
--- a/meta/main.yml
+++ b/meta/main.yml
@@ -7,11 +7,10 @@ galaxy_info:
   company: cccv.de
   license: "MIT / BSD"
   min_ansible_version: '2.10'
-  # galaxy_tags: []
   galaxy_tags:
     - docker
     - build
-    - ducker-build
+    - docker-build
     - c3infodesk
     - c3infodesk-printer
     - c3buttons
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
index b889f8643882cc0cd96ccfd099670ea5539ed58b..d7fe0a034285da79d5885ca4c566a945e258f32a 100644
--- a/molecule/default/converge.yml
+++ b/molecule/default/converge.yml
@@ -1,61 +1,15 @@
 ---
 
-- name: MOLECULE | Converge
+- name: MOLECULE | CONVERGE | Setting tasks for converge...
   hosts: all
-  vars:
-    # molecule_debug_outputs: true
-    molecule_debug_outputs: false
-  pre_tasks:
-    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
-      ansible.builtin.include_vars:
-        dir: ../../defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
-      ansible.builtin.include_vars:
-        dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
-      ansible.builtin.include_vars:
-        dir: ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    ##############################################
-    ##############################################
-    ##############################################
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
-      ansible.builtin.set_fact:
-        host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
 
-    - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'host_var_file_name' fact.
-      ansible.builtin.debug:
-        msg: "molecule_debug_outputs: {{ host_var_file_name }}"
-      when: molecule_debug_outputs | bool
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
-      ansible.builtin.include_vars:
-        file: "{{ host_var_file_name }}"
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'c3infodesk_deployment_repository_url' variable.
-      ansible.builtin.debug:
-        msg: "molecule_debug_outputs: {{ c3infodesk_deployment_repository_url }}"
-      when: molecule_debug_outputs | bool
-
-    #####################
-
-    - name: MOLECULE | CONVERGE | PRE-TASKS | INSTALL | Install the python pip requests package.
-      ansible.builtin.pip:
-        name: requests
+  pre_tasks:
+    - name: MOLECULE | CONVERGE | PRE-TASKS | Import tasks...
+      tags: import_pre_tasks
+      ansible.builtin.import_tasks: pre_tasks.yml
 
   tasks:
-    - name: MOLECULE | CONVERGE | Call the 'docker_images' role.
+    - name: MOLECULE | CONVERGE | TASKS | Call the 'clone_repositories' role.
+      tags: execute_role
       ansible.builtin.include_role:
         name: c3infodesk-deployment-role-docker-images
diff --git a/molecule/default/pre_tasks.yml b/molecule/default/pre_tasks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..41b119870bcbb3cd8a7f5ec130063339fa6313e1
--- /dev/null
+++ b/molecule/default/pre_tasks.yml
@@ -0,0 +1,45 @@
+---
+# This is the pre-tasks shared between converge and verify.
+
+- name: MOLECULE | PRE-TASKS | VARIABLES
+  tags: variables
+  vars:
+    # molecule_debug_outputs: true
+    molecule_debug_outputs: false
+  block:
+  - name: MOLECULE | PRE-TASKS | VARIABLES | From -> ../../defaults
+    ansible.builtin.include_vars:
+      dir: ../../defaults
+      depth: 1
+      extensions:
+        - 'yml'
+
+  - name: MOLECULE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
+    ansible.builtin.include_vars:
+      dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
+      depth: 1
+      extensions:
+        - 'yml'
+
+  - name: MOLECULE | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
+    ansible.builtin.set_fact:
+      host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
+
+  - name: MOLECULE | PRE-TASKS | DEBUG | Value from 'host_var_file_name' fact.
+    ansible.builtin.debug:
+      msg: "molecule_debug_outputs: {{ host_var_file_name }}"
+    when: molecule_debug_outputs | bool
+
+  - name: MOLECULE | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
+    ansible.builtin.include_vars:
+      file: "{{ host_var_file_name }}"
+
+  - name: MOLECULE | PRE-TASKS | DEBUG | Value from 'c3infodesk_deployment_repository_url' variable.
+    ansible.builtin.debug:
+      msg: "molecule_debug_outputs: {{ c3infodesk_deployment_repository_url }}"
+    when: molecule_debug_outputs | bool
+
+  ### c3infodesk-deployment-role-docker-images
+  - name: MOLECULE | CONVERGE | PRE-TASKS | INSTALL | Install the python pip requests package.
+    ansible.builtin.pip:
+      name: requests
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 068eac48ffbf0fe3f19617df6076e266af916b7a..cb336c40656b0ed5a65ca873081ba5727f1978b0 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -1,149 +1,18 @@
 ---
 
-- name: VERIFY | Test role for debugging variables
+- name: VERIFY | Test role for debugging variables.
   hosts: all
-  vars:
-    verify_package_name_docker: 'docker'
-    verify_package_name_docker_ce: 'docker-ce'
-    verify_package_name_docker_compose: 'docker-compose'
-    verify_package_name_docker_compose_plugin: 'docker-compose-plugin'
 
   pre_tasks:
-    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
-      ansible.builtin.include_vars:
-        dir: ../../defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
-      ansible.builtin.include_vars:
-        dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
-      ansible.builtin.include_vars:
-        dir: ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
-      ansible.builtin.set_fact:
-        host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
-      ansible.builtin.include_vars:
-        file: "{{ host_var_file_name }}"
+    - name: MOLECULE | VERIFY | PRE-TASKS | Import tasks...
+      tags: import_pre_tasks
+      ansible.builtin.import_tasks: pre_tasks.yml
 
   tasks:
-    ###
-    ### POPULATE
-    ###
-    - name: MOLECULE | VERIFY | POPULATE | Gather the package facts
-      ansible.builtin.package_facts:
-        manager: auto
-
-    # - name: MOLECULE | VERIFY | POPULATE | Gather service facts
-    #   ansible.builtin.service_facts:
-
-    ###
-    ### TESTS - PACKAGES
-    ###
-    - name: MOLECULE | VERIFY | TEST | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
-      ansible.builtin.debug:
-        msg: "Package: '{{ package_name }}' is installed"
-      loop: "{{ os_dependencies_packages }}"
-      loop_control:
-        loop_var: package_name
-      failed_when: package_name not in ansible_facts.packages
-
-    ###
-    ### TESTS - DOCKER
-    ###
-    - name: MOLECULE | VERIFY | TEST | DOCKER | Is installed.
-      ansible.builtin.debug:
-        msg: "Package: 'docker' is installed"
-      failed_when:
-        - verify_package_name_docker not in ansible_facts.packages
-        - verify_package_name_docker_ce not in ansible_facts.packages
-      when: docker_set_to_install | bool
-
-    - name: MOLECULE | VERIFY | TEST | DOCKER | docker-compose is installed.
-      ansible.builtin.debug:
-        msg: "Package: 'docker-cokmpose' is installed"
-      failed_when:
-       - verify_package_name_docker_compose not in ansible_facts.packages
-       - verify_package_name_docker_compose_plugin not in ansible_facts.packages
-      when: docker_set_to_install | bool
-
-    - name: MOLECULE | VERIFY | TEST | DOCKER | Get docker service state.
-      ansible.builtin.systemd:
-        name: "docker"
-      register: docker_service
-      when: docker_set_to_install | bool
-
-    - name: MOLECULE | VERIFY | TEST | DOCKER | Check that docker is running.
-      ansible.builtin.debug:
-        msg: "Docker IS running..."
-      failed_when: "'active' != docker_service.status.ActiveState"
-      when: docker_set_to_install | bool
-
-    ###
-    ### TESTS - ADDED DOCKER USERS
-    ###
-    - name: MOLECULE | VERIFY | TEST | USER | Get added users infos.
-      ansible.builtin.user:
-        name: "{{ item }}"
-      loop: "{{ docker_users }}"
-      check_mode: true
-      register: test_users
-
-    - name: MOLECULE | VERIFY | TEST | USER | Check if users exists
-      ansible.builtin.debug:
-        msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}"
-      loop: "{{ test_users.results }}"
-      loop_control:
-        label: "{{ item.item }}"
-
-    - name: MOLECULE | VERIFY | TEST | USER | Get the groups that the users belongs to.
-      ansible.builtin.command:
-        cmd: "id -Gn {{ item.item }}"
-      loop: "{{ test_users.results }}"
-      loop_control:
-        label: "{{ item.item }}"
-      register: user_groups
-      changed_when: false
-
-    - name: MOLECULE | VERIFY | TEST | USER | Check that the users are at the 'docker' group.
-      ansible.builtin.debug:
-        msg: "User '{{ item.item.item }}' belongs to the docker group"
-      with_items: "{{ user_groups.results }}"
-      failed_when: "'docker' not in item.stdout"
-
-    ###
-    ### TESTS - CLONE REPOSITORY
-    ###
-    - name: MOLECULE | VERIFY | TEST | Get if the repository was cloned.
-      ansible.builtin.git:
-        repo: "{{ c3infodesk_deployment_repository_url }}"
-        dest: "{{ c3infodesk_deployment_repository_dest_folder }}"
-        version: main
-        clone: false
-        update: false
-      register: check_repository
-
-    - name: MOLECULE | VERIFY | TEST | Checking if the repository was cloned.
-      ansible.builtin.debug:
-        msg: "Repository: '{{ c3infodesk_deployment_repository_url }}' cloned..."
-      failed_when: check_repository.changed | bool
+    - name: MOLECULE | VERIFY | POPULATE
+      tags: import_verify_populate
+      ansible.builtin.import_tasks: verify_populate.yml
 
-    ###
-    ### TESTS - DOCKER IMAGES
-    ###
-    - name: MOLECULE | VERIFY | TEST | Check if the Docker images are on the system.
-      community.docker.docker_image_info:
-        name: "{{ item.docker_image_name }}"
-      with_items: "{{ c3infodesk_deployment_docker_images_list }}"
+    - name: MOLECULE | VERIFY | TASKS
+      tags: import_verify_tasks
+      ansible.builtin.import_tasks: verify_tasks.yml
diff --git a/molecule/default/verify_populate.yml b/molecule/default/verify_populate.yml
new file mode 100644
index 0000000000000000000000000000000000000000..caa85c6f12d21abf5f930bba1bec83da0e0acc52
--- /dev/null
+++ b/molecule/default/verify_populate.yml
@@ -0,0 +1,7 @@
+---
+# This is the file for populating the facts before verify
+
+- name: MOLECULE | VERIFY | POPULATE | Gather the package facts
+  tags: populate
+  ansible.builtin.package_facts:
+    manager: auto
diff --git a/molecule/default/verify_tasks.yml b/molecule/default/verify_tasks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..03d1c92b804a2f71c17e91701662a3cda2184826
--- /dev/null
+++ b/molecule/default/verify_tasks.yml
@@ -0,0 +1,125 @@
+---
+# This is the tasks to be runned from the verify.yml file
+
+###
+### DEPENDENCIES - PACKAGES
+###
+- name: MOLECULE | VERIFY | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
+  tags:
+  - install_packages
+  - role_dependency_needed
+  ansible.builtin.debug:
+    msg: "Package: '{{ package_name }}' is installed"
+  loop: "{{ os_dependencies_packages }}"
+  loop_control:
+    loop_var: package_name
+  failed_when: package_name not in ansible_facts.packages
+
+###
+### DEPENDENCIES - DOCKER
+###
+- name: MOLECULE | VERIFY | DOCKER
+  tags:
+  - install_docker
+  - role_dependency_needed
+  vars:
+    verify_package_name_docker: 'docker'
+    verify_package_name_docker_ce: 'docker-ce'
+    verify_package_name_docker_compose: 'docker-compose'
+    verify_package_name_docker_compose_plugin: 'docker-compose-plugin'
+  block:
+  - name: MOLECULE | VERIFY | DOCKER | Is installed.
+    ansible.builtin.debug:
+      msg: "Package: 'docker' is installed"
+    failed_when:
+      - verify_package_name_docker not in ansible_facts.packages
+      - verify_package_name_docker_ce not in ansible_facts.packages
+    when: docker_set_to_install | bool
+
+  - name: MOLECULE | VERIFY | DOCKER | docker-compose is installed.
+    ansible.builtin.debug:
+      msg: "Package: 'docker-cokmpose' is installed"
+    failed_when:
+      - verify_package_name_docker_compose not in ansible_facts.packages
+      - verify_package_name_docker_compose_plugin not in ansible_facts.packages
+    when: docker_set_to_install | bool
+
+  - name: MOLECULE | VERIFY | DOCKER | Get docker service state.
+    ansible.builtin.systemd:
+      name: "docker"
+    register: docker_service
+    when: docker_set_to_install | bool
+
+  - name: MOLECULE | VERIFY | DOCKER | Check that docker is running.
+    ansible.builtin.debug:
+      msg: "Docker IS running..."
+    failed_when: "'active' != docker_service.status.ActiveState"
+    when: docker_set_to_install | bool
+
+###
+### DEPENDENCIES - DOCKER USERS
+###
+- name: MOLECULE | VERIFY | USER
+  tags:
+  - install_docker_users
+  - role_dependency_needed
+  block:
+  - name: MOLECULE | VERIFY | USER | Get added users infos.
+    ansible.builtin.user:
+      name: "{{ item }}"
+    loop: "{{ docker_users }}"
+    check_mode: true
+    register: test_users
+
+  - name: MOLECULE | VERIFY | USER | Check if users exists
+    ansible.builtin.debug:
+      msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}"
+    loop: "{{ test_users.results }}"
+    loop_control:
+      label: "{{ item.item }}"
+
+  - name: MOLECULE | VERIFY | USER | Get the groups that the users belongs to.
+    ansible.builtin.command:
+      cmd: "id -Gn {{ item.item }}"
+    loop: "{{ test_users.results }}"
+    loop_control:
+      label: "{{ item.item }}"
+    register: user_groups
+    changed_when: false
+
+  - name: MOLECULE | VERIFY | USER | Check that the users are at the 'docker' group.
+    ansible.builtin.debug:
+      msg: "User '{{ item.item.item }}' belongs to the docker group"
+    with_items: "{{ user_groups.results }}"
+    failed_when: "'docker' not in item.stdout"
+
+###
+### CLONE REPOSITORIES
+###
+- name: MOLECULE | VERIFY | REPOSITORY
+  tags:
+  - clone_repositories
+  - role_dependency_needed
+  block:
+  - name: MOLECULE | VERIFY | REPOSITORY | Get if the repository was cloned.
+    ansible.builtin.git:
+      repo: "{{ c3infodesk_deployment_repository_url }}"
+      dest: "{{ c3infodesk_deployment_repository_dest_folder }}"
+      version: main
+      clone: false
+      update: false
+    register: check_repository
+
+  - name: MOLECULE | VERIFY | REPOSITORY | Checking if the repository was cloned.
+    ansible.builtin.debug:
+      msg: "Repository: '{{ c3infodesk_deployment_repository_url }}' cloned..."
+    failed_when: check_repository.changed | bool
+
+###
+### DOCKER IMAGES
+###
+- name: MOLECULE | VERIFY | IMAGES | Check if the Docker images are on the system.
+  tags: build_images
+  community.docker.docker_image_info:
+    name: "{{ item.docker_image_name }}"
+  with_items: "{{ c3infodesk_deployment_docker_images_list }}"