diff --git a/dzgui.sh b/dzgui.sh
index 7c0cb58..423ab54 100755
--- a/dzgui.sh
+++ b/dzgui.sh
@@ -180,7 +180,7 @@ term="$term"
 auto_install="$auto_install"
 
 #Automod staging directory
-staging_dir="/tmp"
+staging_dir="$staging_dir"
 	END
 }
 write_desktop_file(){
@@ -378,19 +378,20 @@ sel_term(){
 	done
 	#FIXME: if no terms, error
 	local terms=$(printf "%s\n" "${terms[@]}" | sort -u)
-	term=$(echo "$terms" | zenity --list --column=Terminal --height=800 --width=1200 --text="Select your preferred terminal emulator to run steamcmd (setting will be saved)" --title=DZGUI)
+	term=$(echo "$terms" | zenity --list --column=Terminal --height=800 --width=1200 --text="Select your preferred terminal emulator to run steamcmd (setting will be saved)" --title=DZGUI 2>/dev/null)
 }
 auto_mod_install(){
-	[[ ! $auto_install -eq 1 ]] && return 1
 	cmd=$(printf "%q " "$@")
 	if [[ -z "$term" ]]; then
 		sel_term && set_term "$term"
 	fi
+	[[ -z "$term" ]] && return 1
 	echo "[DZGUI] Kicking off auto mod script"
 	$term -e bash -c "/$helpers_path/scmd.sh $totalmodsize $cmd"
 	compare
 	if [[ -z $diff ]]; then
 		passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
+		launch
 	else
 		warn "Auto mod installation failed or some mods missing.\nReverting to manual mode."
 		return 1
@@ -648,7 +649,6 @@ query_defunct(){
 	result=$(post | jq -r '.[].publishedfiledetails[] | select(.result==1) | "\(.file_size) \(.publishedfileid)"')
 	totalmodsize=$(echo -e "$result" | awk '{s+=$1}END{print s}')
 	readarray -t newlist <<< $(echo -e "$result" | awk '{print $2}')
-	#readarray -t newlist <<< $(post | jq -r '.[].publishedfiledetails[] | select(.result==1) .publishedfileid')
 }
 validate_mods(){
 	url="https://steamcommunity.com/sharedfiles/filedetails/?id="
@@ -849,8 +849,38 @@ generate_log(){
 	$(list_mods)
 	DOC
 }
+automods_prompt(){
+cat <<- HERE
+
+Auto-mod installation set to ON.
+
+READ THIS FIRST:
+With this setting on, DZGUI will attempt to download and prepare mods using Valve's steamcmd tool.
+
+The first time this process is run, DZGUI will ask you to select a terminal emulator of your preference to spawn the installation routine. If you don't have a preference or don't know, you can pick any.
+
+Installation will kick off in a separate window and may ask you for input such as your sudo password in order to install system packages and create the steamcmd user.
+
+steamcmd itself will ask for your Steam credentials. This information is used directly by Valve's steamcmd tool to authenticate your account and let you download mods headlessly. steamcmd is an official program created by Valve and communicates only with their servers.
+
+NOTE: it can take some time for large mods to download, and steamcmd will not inform you of activity until each one is finished.
+
+If your distribution is unsupported, you don't have enough disk space to stage all of the mods, or there are other problems, DZGUI will warn you and write a report to $HOME/.local/share/dzgui/helpers/SCMD.log. You can attach this file to a bug report.
+HERE
+}
 toggle_automods(){
-	:
+	mv $config_file ${config_path}dztuirc.old
+	local nr=$(awk '/auto_install=/ {print NR}' ${config_path}dztuirc.old)
+	if [[ $auto_install == "1"  ]]; then
+		auto_install="0"
+	else
+		auto_install="1"
+	fi
+	local flip_state="auto_install=\"$auto_install\""
+	awk -v "var=$flip_state" -v "nr=$nr" 'NR==nr {$0=var}{print}' ${config_path}dztuirc.old > $config_file
+	printf "[DZGUI] Toggled auto-mod install to '$auto_install'\n"
+	source $config_file
+	[[ $auto_install == "1" ]] && zenity --info --text="$(automods_prompt)"
 }
 options_menu(){
 	debug_list=(
@@ -1302,6 +1332,7 @@ check_unmerged(){
 merge_config(){
 	source $config_file
 	mv $config_file ${config_path}dztuirc.old
+	[[ -z $staging_dir ]] && staging_dir="/tmp"
 	write_config > $config_file
 	printf "[DZGUI] Wrote new config file to %sdztuirc\n" $config_path
 	zenity --info --width 500 --title="DZGUI" --text="Wrote new config format to \n${config_path}dztuirc\nIf errors occur, you can restore the file:\n${config_path}dztuirc.old" 2>/dev/null
@@ -1497,7 +1528,7 @@ initial_setup(){
 	check_version
 	check_map_count
 	config
-#	fetch_scmd_helper
+	fetch_scmd_helper
 	run_varcheck
 	init_items
 	setup