diff --git a/roles/anope/defaults/main.yml b/roles/anope/defaults/main.yml
index 4334aa4..2ba579f 100644
--- a/roles/anope/defaults/main.yml
+++ b/roles/anope/defaults/main.yml
@@ -8,6 +8,10 @@ anope_services_memoserv_enabled: false
 anope_services_nickserv_enabled: true
 anope_services_operserv_enabled: true
 
+anope_empty_modules:
+  - help
+  - m_sasl
+
 anope_services_host: services.localhost.localdomain
 
 anope_uplink_host: localhost
diff --git a/roles/anope/templates/etc/anope/services.conf.j2 b/roles/anope/templates/etc/anope/services.conf.j2
index 3f5cb20..11e1655 100644
--- a/roles/anope/templates/etc/anope/services.conf.j2
+++ b/roles/anope/templates/etc/anope/services.conf.j2
@@ -244,6 +244,10 @@ include
 }
 {% endif %}
 
+{% for module in anope_additional_config %}
+        module { name = "{{ module }}" }
+{% endfor %}
+
 
 
 {{ anope_additional_config }}
\ No newline at end of file
diff --git a/roles/inspircd/defaults/main.yml b/roles/inspircd/defaults/main.yml
index 0e999a8..31e2f62 100644
--- a/roles/inspircd/defaults/main.yml
+++ b/roles/inspircd/defaults/main.yml
@@ -13,12 +13,10 @@ inspircd_modules:
   - ircv3_labeledresponse
   - ircv3_msgid
   - ircv3_servertime
-  # - ircv3_sts
   - messageflood
   - password_hash
   - pbkdf2
   - sha256
-  - sasl
   - showfile
   - sslmodes
   - sslrehashsignal
@@ -45,6 +43,8 @@ inspircd_autoconnect: []
 inspircd_links: {}
 inspircd_ulines: []
 
+inspircd_sasl_requiressl: yes
+
 inspircd_oper_classes:
   Shutdown:
     commands: [DIE, RESTART, REHASH, LOADMODULE, UNLOADMODULE, RELOADMODULE, GLOADMODULE, GUNLOADMODULE, GRELOADMODULE]
diff --git a/roles/inspircd/templates/etc/inspircd/inspircd.conf.2 b/roles/inspircd/templates/etc/inspircd/inspircd.conf.2
index 172649f..f0063ee 100644
--- a/roles/inspircd/templates/etc/inspircd/inspircd.conf.2
+++ b/roles/inspircd/templates/etc/inspircd/inspircd.conf.2
@@ -112,6 +112,11 @@
 {% endfor %}
 {% endif %}
 
+{% if 'sasl' in inspircd_modules + inspircd_modules_additional %}
+<sasl
+    target="{{ inspircd_sasl_target }}"
+    requiressl="{{ inspircd_sasl_requiressl | ternary('yes', 'no') }}">
+{% endif %}
 
 #
 #  OPERS