diff --git a/serguzim/sbc/README.md b/sbc/README.md
similarity index 100%
rename from serguzim/sbc/README.md
rename to sbc/README.md
diff --git a/serguzim/sbc/galaxy.yml b/sbc/galaxy.yml
similarity index 100%
rename from serguzim/sbc/galaxy.yml
rename to sbc/galaxy.yml
diff --git a/serguzim/sbc/meta/runtime.yml b/sbc/meta/runtime.yml
similarity index 100%
rename from serguzim/sbc/meta/runtime.yml
rename to sbc/meta/runtime.yml
diff --git a/serguzim/sbc/playbooks/dietpi_install.yml b/sbc/playbooks/dietpi_install.yml
similarity index 100%
rename from serguzim/sbc/playbooks/dietpi_install.yml
rename to sbc/playbooks/dietpi_install.yml
diff --git a/serguzim/sbc/plugins/README.md b/sbc/plugins/README.md
similarity index 100%
rename from serguzim/sbc/plugins/README.md
rename to sbc/plugins/README.md
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/burn_to_device.yml b/sbc/roles/dietpi_install/tasks/burn_to_device.yml
similarity index 77%
rename from serguzim/sbc/roles/dietpi_install/tasks/burn_to_device.yml
rename to sbc/roles/dietpi_install/tasks/burn_to_device.yml
index 93966eb..7f3b8e6 100644
--- a/serguzim/sbc/roles/dietpi_install/tasks/burn_to_device.yml
+++ b/sbc/roles/dietpi_install/tasks/burn_to_device.yml
@@ -1,6 +1,6 @@
 - name: Burn img to device
   ansible.builtin.command:
-    cmd: dd if="{{ dietpi_img}}.img" of="{{ dietpi_device }}" bs=4M status=progress
+    cmd: dd if="{{ dietpi.img}}.img" of="{{ dietpi_device }}" bs=4M status=progress
     chdir: "{{ build_dir.path }}"
   become: true
   register: cmd_result
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/copy_automation_script.yml b/sbc/roles/dietpi_install/tasks/copy_automation_script.yml
similarity index 100%
rename from serguzim/sbc/roles/dietpi_install/tasks/copy_automation_script.yml
rename to sbc/roles/dietpi_install/tasks/copy_automation_script.yml
diff --git a/sbc/roles/dietpi_install/tasks/download_iso.yml b/sbc/roles/dietpi_install/tasks/download_iso.yml
new file mode 100644
index 0000000..b134cae
--- /dev/null
+++ b/sbc/roles/dietpi_install/tasks/download_iso.yml
@@ -0,0 +1,9 @@
+- name: Download iso
+  ansible.builtin.get_url:
+    url: "{{ dietpi_download_base }}/{{ dietpi.img }}.7z"
+    dest: "{{ (lookup('ansible.builtin.env', 'XDG_RUNTIME_DIR'), dietpi.img + '.xz') | path_join }}"
+- name: Extract iso
+  ansible.builtin.command:
+    #cmd: 7z x -y -o"{{ build_dir.path }}" "{{ (lookup('ansible.builtin.env', 'XDG_RUNTIME_DIR'), dietpi.img + '.7z') | path_join }}"
+    cmd: xz -d "{{ (lookup('ansible.builtin.env', 'XDG_RUNTIME_DIR'), dietpi.img + '.xz') | path_join }}"
+
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/main.yml b/sbc/roles/dietpi_install/tasks/main.yml
similarity index 60%
rename from serguzim/sbc/roles/dietpi_install/tasks/main.yml
rename to sbc/roles/dietpi_install/tasks/main.yml
index 32a520c..94f41bf 100644
--- a/serguzim/sbc/roles/dietpi_install/tasks/main.yml
+++ b/sbc/roles/dietpi_install/tasks/main.yml
@@ -2,5 +2,7 @@
 - import_tasks: prepare_facts.yml
 - import_tasks: prepare_directory.yml
 - import_tasks: download_iso.yml
+  when: dietpi_reconfig is undefined or not dietpi_reconfig
 - import_tasks: burn_to_device.yml
+  when: dietpi_reconfig is undefined or not dietpi_reconfig
 - import_tasks: template_configs.yml
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/prepare_directory.yml b/sbc/roles/dietpi_install/tasks/prepare_directory.yml
similarity index 100%
rename from serguzim/sbc/roles/dietpi_install/tasks/prepare_directory.yml
rename to sbc/roles/dietpi_install/tasks/prepare_directory.yml
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/prepare_facts.yml b/sbc/roles/dietpi_install/tasks/prepare_facts.yml
similarity index 84%
rename from serguzim/sbc/roles/dietpi_install/tasks/prepare_facts.yml
rename to sbc/roles/dietpi_install/tasks/prepare_facts.yml
index e74e9d0..868eb26 100644
--- a/serguzim/sbc/roles/dietpi_install/tasks/prepare_facts.yml
+++ b/sbc/roles/dietpi_install/tasks/prepare_facts.yml
@@ -2,9 +2,11 @@
   ansible.builtin.pause:
     prompt: "Input device to install dietpi on"
   register: dietpi_device_prompt
+  when: dietpi_device is undefined
 - name: Set dietpi_device
   ansible.builtin.set_fact:
     dietpi_device: "{{ dietpi_device_prompt.user_input }}"
+  when: dietpi_device is undefined
 - name: Check dietpi device
   ansible.builtin.command:
     cmd: test -b {{ dietpi_device }}
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/template_configs.yml b/sbc/roles/dietpi_install/tasks/template_configs.yml
similarity index 96%
rename from serguzim/sbc/roles/dietpi_install/tasks/template_configs.yml
rename to sbc/roles/dietpi_install/tasks/template_configs.yml
index b5078e2..40c3cc4 100644
--- a/serguzim/sbc/roles/dietpi_install/tasks/template_configs.yml
+++ b/sbc/roles/dietpi_install/tasks/template_configs.yml
@@ -29,7 +29,7 @@
   ansible.builtin.template:
     src: dietpi-wifi.txt.j2
     dest: "{{ (config_path, 'dietpi-wifi.txt') | path_join }}"
-  when: wifi_enabled | default(False)
+  when: dietpi.auto_setup.net_wifi_enabled | default(False)
   become: true
 
 - name: Try to copy Automation_Custom_Script.sh
diff --git a/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2 b/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2
new file mode 100644
index 0000000..f27ada8
--- /dev/null
+++ b/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2
@@ -0,0 +1,24 @@
+{% for wifi in dietpi.wifi %}
+#---------------------------------------------------------------
+# Entry {{ loop.index }}
+# - WiFi SSID: required, case sensitive
+aWIFI_SSID[{{ loop.index }}]='{{ wifi.ssid }}'
+# - WiFi key: If no key/open, leave this blank
+# - In case of WPA-PSK, alternatively enter the 64-digit hexadecimal key returned by wpa_passphrase
+# - Please replace single quote characters ' in your key with '\''. No other escaping is required.
+aWIFI_KEY[{{ loop.index }}]='{{ wifi.key|default('') }}'
+# - Key type: NONE (no key/open) | WPA-PSK | WEP | WPA-EAP (then use settings below)
+aWIFI_KEYMGR[{{ loop.index }}]='{{ wifi.keymgr|default('NONE') }}'
+# - WPA-EAP options: Only fill if WPA-EAP is set above
+aWIFI_PROTO[{{ loop.index }}]='{{ wifi.proto|default('') }}'
+aWIFI_PAIRWISE[{{ loop.index }}]='{{ wifi.pairwise|default('') }}'
+aWIFI_AUTH_ALG[{{ loop.index }}]='{{ wifi.auth_alg|default('') }}'
+aWIFI_EAP[{{ loop.index }}]='{{ wifi.eap|default('') }}'
+aWIFI_IDENTITY[{{ loop.index }}]='{{ wifi.identity|default('') }}'
+aWIFI_PASSWORD[{{ loop.index }}]='{{ wifi.password|default('') }}'
+aWIFI_PHASE1[{{ loop.index }}]='{{ wifi.phase1|default('') }}'
+aWIFI_PHASE2[{{ loop.index }}]='{{ wifi.phase2|default('') }}'
+# - Path to the certificate file, e.g.: /boot/mycert.cer
+aWIFI_CERT[{{ loop.index }}]='{{ wifi.cert|default('') }}'
+{% endfor %}
+#---------------------------------------------------------------
diff --git a/serguzim/sbc/roles/dietpi_install/templates/dietpi.txt.j2 b/sbc/roles/dietpi_install/templates/dietpi.txt.j2
similarity index 98%
rename from serguzim/sbc/roles/dietpi_install/templates/dietpi.txt.j2
rename to sbc/roles/dietpi_install/templates/dietpi.txt.j2
index 2fb28df..8fd8e2e 100644
--- a/serguzim/sbc/roles/dietpi_install/templates/dietpi.txt.j2
+++ b/sbc/roles/dietpi_install/templates/dietpi.txt.j2
@@ -196,7 +196,7 @@ CONFIG_CHECK_APT_UPDATES={{ diet.config.check_apt_updates|default(1) }}
 CONFIG_NTP_MODE={{ diet.config.ntp_mode|default(2) }}
 
 # Serial Console: Set to 0 if you do not require serial console.
-CONFIG_SERIAL_CONSOLE_ENABLE={{ diet.config.serial_console_enable|default(1) }}
+CONFIG_SERIAL_CONSOLE_ENABLE={{ diet.config.serial_console_enable|default(true) | ternary(1, 0) }}
 
 # Sound card
 CONFIG_SOUNDCARD={{ diet.config.soundcard|default('none') }}
@@ -206,7 +206,7 @@ CONFIG_SOUNDCARD={{ diet.config.soundcard|default('none') }}
 CONFIG_LCDPANEL={{ diet.config.lcdpanel|default('none') }}
 
 # IPv6
-CONFIG_ENABLE_IPV6={{ diet.config.enable_ipv6|default(true)| ternary(1, 0) }}
+CONFIG_ENABLE_IPV6={{ diet.config.enable_ipv6|default(true) | ternary(1, 0) }}
 
 # APT mirrors which are applied to /etc/apt/sources.list | Values here will also be applied during 1st run setup
 # - Raspbian: https://www.raspbian.org/RaspbianMirrors
@@ -227,14 +227,14 @@ CONFIG_NTP_MIRROR={{ diet.config.ntp_mirror|default('debian.pool.ntp.org') }}
 #	0=Allow password logins for all users, including root
 #	root=Disable password login for root user only
 #	1=Disable password logins for all users, assure that you have a valid SSH key applied!
-SOFTWARE_DISABLE_SSH_PASSWORD_LOGINS={{ diet.software.disable_ssh_password_logins|default(false)| ternary(1, 0) }}
+SOFTWARE_DISABLE_SSH_PASSWORD_LOGINS={{ diet.software.disable_ssh_password_logins|default(false) | ternary(1, 0) }}
 
 # VNC Server
 SOFTWARE_VNCSERVER_WIDTH={{ diet.software.vncserver_width|default(1280) }}
 SOFTWARE_VNCSERVER_HEIGHT={{ diet.software.vncserver_height|default(720) }}
 SOFTWARE_VNCSERVER_DEPTH={{ diet.software.vncserver_depth|default(16) }}
 SOFTWARE_VNCSERVER_DISPLAY_INDEX={{ diet.software.vncserver_display_index|default(1) }}
-SOFTWARE_VNCSERVER_SHARE_DESKTOP={{ diet.software.vncserver_share_desktop|default(false)| ternary(1, 0) }}
+SOFTWARE_VNCSERVER_SHARE_DESKTOP={{ diet.software.vncserver_share_desktop|default(false) | ternary(1, 0) }}
 
 # ownCloud/Nextcloud
 # - Optional username for admin account, the default is 'admin', applied during install
@@ -282,7 +282,7 @@ SOFTWARE_K3S_EXEC={{ diet.software.k3s_exec|default('') }}
 # - Nightly = Use unstable version DietPi-Dashboard. Might have bugs, but will probably have more features.
 SOFTWARE_DIETPI_DASHBOARD_VERSION={{ diet.software.dietpi_dashboard_version|default('Stable') }}
 # Whether to only install backend or not
-SOFTWARE_DIETPI_DASHBOARD_BACKEND={{ diet.software.dietpi_dashboard_backend|default(false)| ternary(1, 0) }}
+SOFTWARE_DIETPI_DASHBOARD_BACKEND={{ diet.software.dietpi_dashboard_backend|default(false) | ternary(1, 0) }}
 
 # PiVPN
 # - For an unattended install, place a config file named "unattended_pivpn.conf" into the boot partition/directory.
diff --git a/serguzim/sbc/roles/dietpi_install/vars/main.yml b/sbc/roles/dietpi_install/vars/main.yml
similarity index 100%
rename from serguzim/sbc/roles/dietpi_install/vars/main.yml
rename to sbc/roles/dietpi_install/vars/main.yml
diff --git a/serguzim/sbc/roles/dietpi_install/tasks/download_iso.yml b/serguzim/sbc/roles/dietpi_install/tasks/download_iso.yml
deleted file mode 100644
index 46712b3..0000000
--- a/serguzim/sbc/roles/dietpi_install/tasks/download_iso.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-- name: Download iso
-  ansible.builtin.get_url:
-    url: "{{ dietpi_download_base }}/{{ dietpi_img }}.7z"
-    dest: "{{ (lookup('ansible.builtin.env', 'XDG_RUNTIME_DIR'), dietpi_img + '.7z') | path_join }}"
-- name: Extract iso
-  ansible.builtin.command:
-    cmd: 7z x -y -o"{{ build_dir.path }}" "{{ (lookup('ansible.builtin.env', 'XDG_RUNTIME_DIR'), dietpi_img + '.7z') | path_join }}"
-
diff --git a/serguzim/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2 b/serguzim/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2
deleted file mode 100644
index a7c4ffb..0000000
--- a/serguzim/sbc/roles/dietpi_install/templates/dietpi-wifi.txt.j2
+++ /dev/null
@@ -1,24 +0,0 @@
-{% foreach dietpi.wifi as index => wifi %}
-#---------------------------------------------------------------
-# Entry {{ index }}
-# - WiFi SSID: required, case sensitive
-aWIFI_SSID[{{ index }}]='{{ wifi.ssid }}'
-# - WiFi key: If no key/open, leave this blank
-# - In case of WPA-PSK, alternatively enter the 64-digit hexadecimal key returned by wpa_passphrase
-# - Please replace single quote characters ' in your key with '\''. No other escaping is required.
-aWIFI_KEY[{{ index }}]='{{ wifi.key|default('') }}'
-# - Key type: NONE (no key/open) | WPA-PSK | WEP | WPA-EAP (then use settings below)
-aWIFI_KEYMGR[{{ index }}]='{{ wifi.keymgr|default('NONE') }}'
-# - WPA-EAP options: Only fill if WPA-EAP is set above
-aWIFI_PROTO[{{ index }}]='{{ wifi.proto|default('') }}'
-aWIFI_PAIRWISE[{{ index }}]='{{ wifi.pairwise|default('') }}'
-aWIFI_AUTH_ALG[{{ index }}]='{{ wifi.auth_alg|default('') }}'
-aWIFI_EAP[{{ index }}]='{{ wifi.eap|default('') }}'
-aWIFI_IDENTITY[{{ index }}]='{{ wifi.identity|default('') }}'
-aWIFI_PASSWORD[{{ index }}]='{{ wifi.password|default('') }}'
-aWIFI_PHASE1[{{ index }}]='{{ wifi.phase1|default('') }}'
-aWIFI_PHASE2[{{ index }}]='{{ wifi.phase2|default('') }}'
-# - Path to the certificate file, e.g.: /boot/mycert.cer
-aWIFI_CERT[{{ index }}]='{{ wifi.cert|default('') }}'
-{% endforeach %}
-#---------------------------------------------------------------