diff --git a/tpromptuser.sh b/tpromptuser.sh
index e60cce8..aebb41a 100755
--- a/tpromptuser.sh
+++ b/tpromptuser.sh
@@ -2,7 +2,7 @@
 # promptuser.sh - User Prompting From Shell With validation
 # Copyright (c) 2010, TundraWare Inc, Des Plaines, IL USA
 # All Rights Reserved
-# $Id: tpromptuser.sh,v 1.104 2010/10/07 19:12:17 tundra Exp $
+# $Id: tpromptuser.sh,v 1.105 2010/10/07 19:21:14 tundra Exp $
 
 # Loop through a set of questions for the user to answer, storing
 # their response back into the prompt variable itself.
@@ -33,14 +33,90 @@
 ORIGIFS=$IFS       # Save current field separator
 DL=';'             # Prompt field delimiter
 
+# ---------- Nothing Should Change Below This Line ---------- #
+
+#####
+# PromptUser() - Shell Function To Prompt And Validate User Input
+#####
+
+PromptUser()
+
+{
+
+  for x in $PROMPTLIST
+  do
+      eval record=\$$x     # Get the prompt record
+      IFS=$DL              # Get individual fields
+      read prompt default answers <<EOF
+$record
+EOF
+  
+      IFS=$ORIGIFS         # And restore the original field separator
+  
+      # Now read input and check it against list of valid responses
+      
+      DONE=False
+  
+      while [ _$DONE = _False ]
+      do
+  
+        read -p "${prompt} (Default: ${default}) " ANS
+  
+        # We're done if the user took the default OR if the "Legal
+        # Answers" field is empty (which means we accept anything)
+  
+        if [ _"$ANS" = _ ] || [ _"$answers" = _ ]
+        then
+          DONE=True
+  
+        # Otherwise, make sure answer is legit
+  
+        else
+          for a in $answers      # Check against each possible legal answer
+          do
+            if [ _$a = _"$ANS" ]
+            then
+              DONE=True
+            fi
+          done
+  
+          if [ _$DONE = _False ]
+          then
+            echo "Invalid Response! Must Be One Of $answers"
+          fi
+        fi
+  
+      done
+  
+      # Save the answer back into the original prompt variable,
+      # substituting the default value if the user entered nothing.
+  
+      ANS=${ANS:-$default}
+      eval $x=\"$ANS\"
+  
+  done
+  
+}
+  
+# End Of 'PromptUser()'
+
+
+
+# ---------- End Of Code ---------- #
+
+
+
+
+#####
+# Example
+#####
+
 # Common Answers
 
 YN="Y y N n Yes yes No no YES NO"
 
 
-#####
 # Prompt Records
-#####
 
 # Layout Of Fields In Prompt Record:
 #
@@ -73,69 +149,9 @@
 echo "Before: foo->$foo    bar->$bar    baz->$baz    bat->$bat"
 
 
-# ---------- Nothing Should Change Below This Line ---------- #
+# Go get the user input and validate it
 
-#####
-# Actual Prompting Logic
-#####
-
-
-for x in $PROMPTLIST
-do
-    eval record=\$$x     # Get the prompt record
-    IFS=$DL              # Get individual fields
-    read prompt default answers <<EOF
-$record
-EOF
-
-    IFS=$ORIGIFS         # And restore the original field separator
-
-    # Now read input and check it against list of valid responses
-    
-    DONE=False
-
-    while [ _$DONE = _False ]
-    do
-
-      read -p "${prompt} (Default: ${default}) " ANS
-
-      # We're done if the user took the default OR if the "Legal
-      # Answers" field is empty (which means we accept anything)
-
-      if [ _"$ANS" = _ ] || [ _"$answers" = _ ]
-      then
-        DONE=True
-
-      # Otherwise, make sure answer is legit
-
-      else
-        for a in $answers      # Check against each possible legal answer
-        do
-          if [ _$a = _"$ANS" ]
-          then
-            DONE=True
-          fi
-        done
-
-        if [ _$DONE = _False ]
-        then
-          echo "Invalid Response! Must Be One Of $answers"
-        fi
-      fi
-
-    done
-
-    # Save the answer back into the original prompt variable,
-    # substituting the default value if the user entered nothing.
-
-    ANS=${ANS:-$default}
-    eval $x=\"$ANS\"
-
-done
-
-
-# End Of Prompting Logic
-
+PromptUser
 
 
 # Dump results for sake of this example only