diff --git a/stock_examples64/Makefile b/stock_examples64/Makefile
index 53d2a7aeb763f2cc3291dcd5201e95ed764f9286..283304b89bdf602564b284943baf37d3a770b38d 100644
--- a/stock_examples64/Makefile
+++ b/stock_examples64/Makefile
@@ -16,7 +16,7 @@ all: env_check  ${protected_exes}
 
 
 .stock.protected: .PHONY
-	${PEASOUP_HOME}/tools/ps_analyze64.sh $< $@ 
+	${PEASOUP_HOME}/tools/ps_analyze64.sh $< $@   --step ilr=off
 
 $(protected_exes): ${STRATA}/lib/x86_64_linux/libstrata.a .PHONY
 
diff --git a/tools/bed.sh b/tools/bed.sh
index c766dbe5c3772addb948a891950b172bded7be1f..12039126c727a54e424422397182fc5459d885f0 100755
--- a/tools/bed.sh
+++ b/tools/bed.sh
@@ -21,7 +21,7 @@ fi
 
 #generate the bspri code
 echo "Generating bspri"
-$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $TOP_LEVEL/stratafier.o.exe $TOP_LEVEL/libstrata.so.symbols
+$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $TOP_LEVEL/a.ncexe $TOP_LEVEL/stratafier.o.exe $TOP_LEVEL/libstrata.so.symbols
 status=$?
 if [ ! $status -eq 0 ]; then
   echo "BED: spasm error -- spasm exited with non-zero status ($status)"
@@ -75,4 +75,4 @@ fi
 
 echo "BED TEST SUCCESS"
 
-exit 0
\ No newline at end of file
+exit 0
diff --git a/tools/bed_blackbox.sh b/tools/bed_blackbox.sh
index 1ae096e31ab183cdad54ac313e3564c776188481..067603b6b7489cceeaad37655a9c43f55916cf73 100755
--- a/tools/bed_blackbox.sh
+++ b/tools/bed_blackbox.sh
@@ -22,7 +22,7 @@ bspri=$3
 SCRIPT_NAME=$PEASOUP_DIR/manual_test_wrapper
 
 # generate the bspri code
-$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $PEASOUP_DIR/stratafier.o.exe $PEASOUP_DIR/libstrata.so.symbols 
+$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $PEASOUP_DIR/a.ncexe $PEASOUP_DIR/stratafier.o.exe $PEASOUP_DIR/libstrata.so.symbols 
 if [ ! $? -eq 0 ]; then
   echo "BED: spasm error -- exiting"
   exit 1
diff --git a/tools/bed_manual.sh b/tools/bed_manual.sh
index 10a9248a5e6097f76a457c1f17792752e419cbcb..598f526b6dcee4df869c5a3f0d674f438803cf4c 100755
--- a/tools/bed_manual.sh
+++ b/tools/bed_manual.sh
@@ -18,7 +18,7 @@ aspri=$2
 bspri=$3
 
 # generate the bspri code
-$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $PEASOUP_DIR/stratafier.o.exe $PEASOUP_DIR/libstrata.so.symbols
+$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $PEASOUP_DIR/a.ncexe $PEASOUP_DIR/stratafier.o.exe $PEASOUP_DIR/libstrata.so.symbols
 if [ ! $? -eq 0 ]; then
   echo "BED: spasm error -- exiting"
   exit 1
diff --git a/tools/do_appfw.sh b/tools/do_appfw.sh
index 384d0290665eeb22877ce61df3206ad2d99ad39a..148320f0914870509f6b1b7ef511c6ea511f481b 100755
--- a/tools/do_appfw.sh
+++ b/tools/do_appfw.sh
@@ -1,5 +1,8 @@
 #!/bin/sh 
 
+bits=$1
+shift
+
 program=$1
 find_string_log=$2
 
@@ -9,4 +12,6 @@ cp $program.sigs $program.sigs.orig
 
 # copy application firewall library 
 # for now, it's only SQL
-cp $SECURITY_TRANSFORMS_HOME/appfw/lib/libappfw.so .
+cp $SECURITY_TRANSFORMS_HOME/appfw/lib/libappfw.so$(bits) libappfw.so
+
+$PEASOUP_HOME/tools/update_env_var.sh DO_APPFW 1
diff --git a/tools/do_integertransform.sh b/tools/do_integertransform.sh
index 1b6df2cc1af59c2ca78d7dbb802ad2d6df8c1fdf..77eab76b94f6a5a9e00d9810b0882688963bd255 100755
--- a/tools/do_integertransform.sh
+++ b/tools/do_integertransform.sh
@@ -60,7 +60,7 @@ fi
     # generate aspri, and assemble it to bspri
 #	echo "INT: Generate temporary aspri --> bspri for integer transform"
 #	$SECURITY_TRANSFORMS_HOME/libIRDB/test/generate_spri.exe $tempcloneid $INTEGER_ASPRI 
-#	$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $INTEGER_ASPRI $INTEGER_BSPRI stratafier.o.exe
+#	$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $INTEGER_ASPRI $INTEGER_BSPRI a.ncexe stratafier.o.exe
 
 #	if [ $? -eq 0 ]; then
 		# produce list of instruction addresses that trigger an integer detector
diff --git a/tools/intxform_detect_benign_fp.sh b/tools/intxform_detect_benign_fp.sh
index 092a533fbd468310d0eb4a9b3a9e237711a06749..6824c0f4ed511360ccb7b9156e36ea00db36edac 100755
--- a/tools/intxform_detect_benign_fp.sh
+++ b/tools/intxform_detect_benign_fp.sh
@@ -46,7 +46,7 @@ $SECURITY_TRANSFORMS_HOME/tools/transforms/integertransformdriver.exe $tempclone
 # generate aspri, and assemble it to bspri
 echo "intxform(detect-benign-fp): Generate temporary aspri --> bspri for integer transform"
 $SECURITY_TRANSFORMS_HOME/libIRDB/test/generate_spri.exe $($PEASOUP_HOME/tools/is_so.sh a.ncexe) $tempcloneid $INTEGER_ASPRI
-$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $INTEGER_ASPRI $INTEGER_BSPRI stratafier.o.exe libstrata.so.symbols
+$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $INTEGER_ASPRI $INTEGER_BSPRI a.ncexe stratafier.o.exe libstrata.so.symbols
 
 # generate script to run instrumented binary
 DETECTOR_BINARY=benignfp.detector
diff --git a/tools/p1xform_v2.sh b/tools/p1xform_v2.sh
index b84fec5e0986f7ef17d4250b88a92b699ca51937..fc88f3967e53701c91dfc202fbfa8c6fa7bc20b5 100755
--- a/tools/p1xform_v2.sh
+++ b/tools/p1xform_v2.sh
@@ -14,7 +14,7 @@ bspri=$3
 P1_DIR=p1.xform/$fname
 
 #generate the bspri code
-$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $TOP_LEVEL/stratafier.o.exe $TOP_LEVEL/libstrata.so.symbols
+$SECURITY_TRANSFORMS_HOME/tools/spasm/spasm $aspri $bspri $TOP_LEVEL/a.ncexe $TOP_LEVEL/stratafier.o.exe $TOP_LEVEL/libstrata.so.symbols
 
 if [ $? -ne 0 ]; then
 	echo "Spasm failure in performing validation"
diff --git a/tools/ps_analyze.sh b/tools/ps_analyze.sh
index 59f934d024a4adaca4724a84b1ae06f253489110..c5bc18cecfa9ee1c00a0ffad244186e557498bdb 100755
--- a/tools/ps_analyze.sh
+++ b/tools/ps_analyze.sh
@@ -29,6 +29,9 @@ intxform_warnings_only=0  # default: integer warnings only mode is off
 intxform_detect_fp=1      # default: detect benign false positives is on
                           #   but if determine_program is off, it's a no-op
 
+
+
+
 # 
 # By default, big data approach is off
 # To turn on the big data approach: modify check_options()
@@ -537,6 +540,17 @@ mkdir $newdir
 # store the original executable as a.ncexe
 cp $orig_exe $newdir/$newname.ncexe
 
+file $orig_exe|grep 32-bit >/dev/null 2>&1 
+if [ $? = 0 ]; then 
+	if [ `uname -p` = 'x86_64' ]; then
+		STRATA_HOME=$STRATA_HOME32
+		STRATA=$STRATA32
+	fi
+	arch_bits=32
+else
+	arch_bits=64
+fi
+
 #
 # setup libstrata.so.  We'll setup two versions, one with symbols so we can debug, and a stripped, faster-loading version.
 # by default, use the faster version.  copy in the .symbosl version for debugging
@@ -667,7 +681,7 @@ perform_step find_strings none $SECURITY_TRANSFORMS_HOME/libIRDB/test/find_strin
 #
 # analyze binary for string signatures
 #
-perform_step appfw none $PEASOUP_HOME/tools/do_appfw.sh $newname.ncexe logs/find_strings.log
+perform_step appfw none $PEASOUP_HOME/tools/do_appfw.sh $arch_bits $newname.ncexe logs/find_strings.log
 
 #
 # check signatures to determine if we know which program this is.
@@ -746,7 +760,7 @@ fi
 
 # generate aspri, and assemble it to bspri
 perform_step generate_spri mandatory $SECURITY_TRANSFORMS_HOME/libIRDB/test/generate_spri.exe $($PEASOUP_HOME/tools/is_so.sh a.ncexe) $cloneid a.irdb.aspri
-perform_step spasm mandatory $SECURITY_TRANSFORMS_HOME/tools/spasm/spasm a.irdb.aspri a.irdb.bspri stratafier.o.exe libstrata.so.symbols
+perform_step spasm mandatory $SECURITY_TRANSFORMS_HOME/tools/spasm/spasm a.irdb.aspri a.irdb.bspri a.ncexe stratafier.o.exe libstrata.so.symbols 
 perform_step fast_spri spasm $PEASOUP_HOME/tools/fast_spri.sh a.irdb.bspri a.irdb.fbspri 
 
 # preLoaded_ILR step
diff --git a/tools/ps_run.sh b/tools/ps_run.sh
index 86d7fbfb5208e5f6ab04db338512e2ca2e51e273..8f16284b5db7b06daa600d21993d52a339a3e641 100755
--- a/tools/ps_run.sh
+++ b/tools/ps_run.sh
@@ -30,13 +30,15 @@ shift 2;
 # Run the program with the proper env. vars set., and the arguments to the program specified
 #
 
-
+DO_APPFW=0
+if [ $DO_APPFW = 1 ]; then 
+	APPFW_DB=$datapath/appfw.db
+	APPFW_SIGNATURE_FILE=$datapath/a.ncexe.sigs.$$
+	LD_PRELOAD=$datapath/libappfw.so
+fi
 
 command="
-LD_PRELOAD=$datapath/libappfw.so
 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$datapath
-APPFW_DB=$datapath/appfw.db
-APPFW_SIGNATURE_FILE=$datapath/a.ncexe.sigs.$$
 STRATA_WATCHDOG=0
 STRATA_NUM_HANDLE=0
 STRATA_DOUBLE_FREE=0