diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh
index 83361cb4..73e7f1fb 100755
--- a/automated install/basic-install.sh	
+++ b/automated install/basic-install.sh	
@@ -29,9 +29,10 @@ IPv4mask=$(ifconfig | awk -F':' '/inet addr/ && !/127.0.0.1/ {print $4}')
 IPv4gw=$(ip route show | awk '/default\ via/ {print $3}')
 
 # IPv6 support to be added later
-#IPv6addr=$(ip addr show | awk '/scope\ global/ && /ff:fe/ {print $2}' | cut -d'/' -f1)
+#IPv6eui64=$(ip addr show | awk '/scope\ global/ && /ff:fe/ {print $2}' | cut -d'/' -f1)
+#IPv6linkLocal=$(ip addr show | awk '/inet/ && /scope\ link/ && /fe80/ {print $2}' | cut -d'/' -f1)
 
-ethernetDevice="eth0"
+availableInterfaces=$(ip link show | awk -F' ' '/[0-9]: [a-z]/ {print $2}' | grep -v "lo" | cut -d':' -f1)
 dhcpcdFile=/etc/dhcpcd.conf
 
 ####### FUCNTIONS ##########
@@ -51,7 +52,113 @@ else
 fi
 }
 
-set_static_ip()
+welcomeDialogs()
+{
+# Display the welcome dialog
+whiptail --msgbox --backtitle "Welcome" --title "Pi-hole automated installer" "This installer will transform your Raspberry Pi into a network-wide ad blocker!" $r $c
+
+# Explain the need for a static address
+whiptail --msgbox --backtitle "Initating network interface" --title "Static IP Needed" "The Pi-hole is a SERVER so it needs a STATIC IP ADDRESS to function properly.
+
+In the next section, you can choose to use your current network settings (DHCP) or to manually edit them." $r $c
+}
+
+use4andor6()
+{
+# Let use select IPv4 and/or IPv6
+cmd=(whiptail --separate-output --checklist "Select Protocols" $r $c 2)
+options=(IPv4 "Block ads over IPv4" on
+         IPv6 "Block ads over IPv4" off)
+choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
+clear
+for choice in $choices
+do
+    case $choice in
+        IPv4)
+            echo "IPv4 selected."
+			useIPv4=true
+            ;;
+        IPv6)
+            echo "IPv6 selected."
+			useIPv6=true
+            ;;
+    esac
+done
+}
+
+
+getStaticIPv4Settings()
+{
+# Ask if the user wannts to use DHCP settings as their static IP
+if (whiptail --backtitle "Calibrating network interface" --title "Static IP Address" --yesno "Do you want to use your current network settings as a static address?
+
+								IP address:    $IPv4addr
+								Subnet mask:   $IPv4mask
+								Gateway:       $IPv4gw" $r $c) then
+	# If they choose yes, let the user know that the IP address will not be available via DHCP and may cause a conflict.
+	whiptail --msgbox --backtitle "IP information" --title "FYI: IP Conflict" "It is possible your router could still try to assign this IP to a device, which would cause a conflict.  But in most cases the router is smart enough to not do that.
+
+	If you are worried, either manually set the address, or modify the DHCP reservation pool so it does not include the IP you want.
+
+	It is also possible to use a DHCP reservation, but if you are going to do that, you might as well set a static address." $r $c
+	# Nothing else to do since the variables are already set above
+else
+	# Otherwise, we need to ask the user to input their desired settings.
+	# Start by getting the IPv4 address (pre-filling it with info gathered from DHCP)
+	# Start a loop to let the user enter their information with the chance to go back and edit it if necessary
+	until [[ $ipSettingsCorrect = True ]]
+	do
+	# Ask for the IPv4 address
+	IPv4addr=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 address" --inputbox "Enter your desired IPv4 address" $r $c $IPv4addr 3>&1 1>&2 2>&3)
+	if [[ $? = 0 ]];then
+    	echo "Your static IPv4 address:    $IPv4addr"
+		# Ask for the subnet mask
+		IPv4mask=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 netmask" --inputbox "Enter your desired IPv4 subnet mask" $r $c $IPv4mask 3>&1 1>&2 2>&3)
+		if [[ $? = 0 ]];then
+			echo "Your static IPv4 netmask:    $IPv4mask"
+			# Ask for the gateway
+			IPv4gw=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 gateway (router)" --inputbox "Enter your desired IPv4 default gateway" $r $c $IPv4gw 3>&1 1>&2 2>&3)
+			if [[ $? = 0 ]];then
+				echo "Your static IPv4 gateway:    $IPv4gw"
+				# Give the user a chance to review their settings before moving on
+				if (whiptail --backtitle "Calibrating network interface" --title "Static IP Address" --yesno "Are these settings correct?
+					IP address:    $IPv4addr
+					Subnet mask:   $IPv4mask
+					Gateway:       $IPv4gw" $r $c)then
+					# If the settings are correct, then we need to set the piholeIP
+					# Saving it to a temporary file us to retrieve it later when we run the gravity.sh script
+					echo $IPv4addr > /tmp/piholeIP
+					# After that's done, the loop ends and we move on
+					ipSettingsCorrect=True
+				else
+					# If the settings are wrong, the loop continues
+					ipSettingsCorrect=False
+				fi
+			else
+				# Cancelling gateway settings window
+				ipSettingsCorrect=False
+				echo "User canceled."
+				exit
+			fi
+		else
+			# Cancelling subnet mask settings window
+			ipSettingsCorrect=False
+			echo "User canceled."
+			exit
+		fi
+	else
+		# Cancelling IPv4 settings window
+		ipSettingsCorrect=False
+		echo "User canceled."
+		exit
+	fi
+done
+# End the if statement for DHCP vs. static
+fi
+}
+
+
+setStaticIPv4()
 {
 # Append these lines to /etc/dhcpcd.conf to enable a static IP
 echo "interface $ethernetDevice
@@ -76,6 +183,7 @@ sudo service lighttpd stop
 sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
 sudo mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.orig
 sudo mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.orig
+sudo mv /etc/crontab /etc/crontab.orig
 sudo curl -o /etc/dnsmasq.conf https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/dnsmasq.conf
 sudo curl -o /etc/lighttpd/lighttpd.conf https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/lighttpd.conf
 sudo mv /etc/crontab /etc/crontab.orig
@@ -92,94 +200,46 @@ sudo chmod 644 /var/log/pihole.log
 sudo chown dnsmasq:root /var/log/pihole.log
 sudo curl -o /usr/local/bin/gravity.sh https://raw.githubusercontent.com/jacobsalmela/pi-hole/installation/gravity.sh
 sudo curl -o /usr/local/bin/chronometer.sh https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/Scripts/chronometer.sh
+sudo curl -o /usr/local/bin/whitelist.sh https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/Scripts/whitelist.sh
 sudo chmod 755 /usr/local/bin/gravity.sh
 sudo chmod 755 /usr/local/bin/chronometer.sh
+sudo chmod 755 /usr/local/bin/whitelist.sh
 sudo /usr/local/bin/gravity.sh
 sudo service networking restart
 }
 
 ######## SCRIPT ############
+# Start the installer
+welcomeDialogs
+
 # Just back up the original Pi-hole right away since it won't take long and it gets it out of the way
 backupLegacyPihole
 
-# Display the welcome dialog
-whiptail --msgbox --backtitle "Welcome" --title "Pi-hole automated installer" "This installer will transform your Raspberry Pi into a network-wide ad blocker!" $r $c
+# Let the user decide if they want to block ads over IPv4 and/or IPv6
+use4andor6
 
-# Explain the need for a static address
-whiptail --msgbox --backtitle "Initating network interface" --title "Static IP Needed" "The Pi-hole is a SERVER so it needs a STATIC IP ADDRESS to function properly.
-
-In the next section, you can choose to use your current network settings (DHCP) or to manually edit them." $r $c
-
-# Ask if the user wannts to use DHCP settings as their static IP
-if (whiptail --backtitle "Calibrating network interface" --title "Static IP Address" --yesno "Do you want to use your current network settings as a static address?
-
-							IP address:    $IPv4addr
-							Subnet mask:   $IPv4mask
-							Gateway:       $IPv4gw" $r $c) then
-	# If they choose yes, let the user know that the IP address will not be available via DHCP and may cause a conflict.
-	whiptail --msgbox --backtitle "IP information" --title "FYI: IP Conflict" "It is possible your router could still try to assign this IP to a device, which would cause a conflict.  But in most cases the router is smart enough to not do that.
-
-If you are worried, either manually set the address, or modify the DHCP reservation pool so it does not include the IP you want.
-
-It is also possible to use a DHCP reservation, but if you are going to do that, you might as well set a static address." $r $c
-	# Nothing else to do since the variables are already set above
+# Decide is IPv4 will be used
+if [[ "$useIPv4" = true ]];then
+	echo "Using IPv4"
+	getStaticIPv4Settings
+	setStaticIPv4
 else
-	# Otherwise, we need to ask the user to input their desired settings.
-	# Start by getting the IPv4 address (pre-filling it with info gathered from DHCP)
-	# Start a loop to let the user enter their information with the chance to go back and edit it if necessary
-	until [[ $ipSettingsCorrect = True ]]
-	do
-	# Ask for the IPv4 address
-	IPv4addr=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 address" --inputbox "Enter your desired IPv4 address" $r $c $IPv4addr 3>&1 1>&2 2>&3)
-	if [[ $? = 0 ]];then
-    	echo "Your static IPv4 address:    $IPv4addr"
-		# Ask for the subnet mask
-		IPv4mask=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 netmask" --inputbox "Enter your desired IPv4 subnet mask" $r $c $IPv4mask 3>&1 1>&2 2>&3)
-		if [[ $? = 0 ]];then
-				echo "Your static IPv4 netmask:    $IPv4mask"
-				# Ask for the gateway
-				IPv4gw=$(whiptail --backtitle "Calibrating network interface" --title "IPv4 gateway (router)" --inputbox "Enter your desired IPv4 default gateway" $r $c $IPv4gw 3>&1 1>&2 2>&3)
-				if [[ $? = 0 ]];then
-						echo "Your static IPv4 gateway:    $IPv4gw"
-						# Give the user a chance to review their settings before moving on
-						if (whiptail --backtitle "Calibrating network interface" --title "Static IP Address" --yesno "Are these settings correct?
-							IP address:    $IPv4addr
-							Subnet mask:   $IPv4mask
-							Gateway:       $IPv4gw" $r $c)then
-							# If the settings are correct, then we need to set the piholeIP
-							# Saving it to a temporary file us to retrieve it later when we run the gravity.sh script
-							echo $IPv4addr > /tmp/piholeIP
-							# After that's done, the loop ends and we move on
-							ipSettingsCorrect=True
-
-						else
-							# If the settings are wrong, the loop continues
-							ipSettingsCorrect=False
-						fi
-				else
-					# Cancelling gateway settings window
-					ipSettingsCorrect=False
-					echo "User canceled."
-					exit
-				fi
-		else
-			# Cancelling subnet mask settings window
-			ipSettingsCorrect=False
-			echo "User canceled."
-			exit
-		fi
-	else
-		# Cancelling IPv4 settings window
-		ipSettingsCorrect=False
-    	echo "User canceled."
-		exit
-	fi
-	done
-# End the if statement for DHCP vs. static
+	echo "IPv4 will NOT be used."
+fi
+
+# Decide is IPv6 will be used
+if [[ "$useIPv6" = true ]];then
+	whiptail --msgbox --backtitle "Coming soon..." --title "IPv6 not yet supported" "I need your help.  Consider donating at:
+
+															http://pi-hole.net/donate" $r $c
+	echo "Using IPv6"
+else
+	whiptail --msgbox --backtitle "Coming soon..." --title "IPv6 not yet supported" "I need your help.  Consider donating at:
+
+															http://pi-hole.net/donate" $r $c
+	echo "IPv6 will NOT be used."
 fi
 
-# Set the static address
-set_static_ip
 
 # Install and log everything to a file
 installPihole | tee $tmpLog