diff --git a/.gitignore b/.gitignore
index c8ac704d51407c2dcf8f4b852d67ec70f19aa010..21e66f74a1a12e4080fe67089bba55bc84b697f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,8 @@ bin/*
 *results*
 */.udb-cMix-session
 blob*
+junk*
+
 # Vim swap files
 *.swp
 *.swo
diff --git a/basice2e/clients.goldoutput/client25.txt b/basice2e/clients.goldoutput/client25.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/basice2e/clients.goldoutput/client26.txt b/basice2e/clients.goldoutput/client26.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/basice2e/run.sh b/basice2e/run.sh
index 6ba74bc57c7d476affae2bff2363616e0d86f195..83bf38a49f2985a89817ad00517806b4afcff250 100755
--- a/basice2e/run.sh
+++ b/basice2e/run.sh
@@ -239,161 +239,161 @@ runclients() {
 }
 
 
-#if [ "$NETWORKENTRYPOINT" == "localhost:8440" ]
-#then
-#
-#    echo "RUNNING BASIC CLIENTS..."
-#    runclients
-#    echo "RUNNING BASIC CLIENTS (2nd time)..."
-#    runclients
-#
-#    # Send E2E messages between a single user
-#    mkdir -p blob9
-#    mkdir -p blob18
-#    mkdir -p blob91
-#    echo "TEST E2E WITH PRECANNED USERS..."
-#    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m \"Hi 9->9, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL
-#    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m \"Hi 9->9, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client19.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob19/blob19 --slowPolling --sendid 19 --destid 19 -m \"Hi 19->19, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client19.txt 2>&1 &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL
-#
-#
-#    # Send E2E messages between two users
-#    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 3 --receiveCount 3 -s blob9/blob9 --sendid 9 --destid 18 -m \"Hi 9->18, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
-#    PIDVAL1=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client18.log --sendDelay 1000  --sendCount 3 --receiveCount 3 -s blob18/blob18 --sendid 18 --destid 9 -m \"Hi 18->9, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client18.txt 2>&1 &
-#    PIDVAL2=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL1
-#    wait $PIDVAL2
-#
-#
-#    # Send multiple E2E encrypted messages between users that discovered each other
-#    echo "SENDING MESSAGES TO PRECANNED USERS AND FORCING A REKEY..."
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client18_rekey.log --sendCount 20 --receiveCount 20 --destid 9 -s blob18/blob18 -m \"Hello, 9, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 || true &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client9_rekey.log --sendCount 20 --receiveCount 20 --destid 18 -s blob9/blob9 -m \"Hello, 18, with E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 || true &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL || true
-#
-#    echo "FORCING HISTORICAL ROUNDS... (NON-E2E, PRECAN)"
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client35.log -s blob35 --sendid 1 --destid 2 --sendCount 5 --receiveCount 5 -m \"Hello from 1, without E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client35.txt || true &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client36.log -s blob36 --sendid 2 --destid 1 --sendCount 5 --receiveCount 5 -m \"Hello from 2, without E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client36.txt || true &
-#    PIDVAL2=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL
-#    wait $PIDVAL2
-#
-#    echo "FORCING MESSAGE PICKUP RETRY... (NON-E2E, PRECAN)"
-#    # Higher timeouts for this test to allow message pickup retry to function
-#    CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client20.log -s blob20 --sendid 20 --destid 21 --sendCount 5 --receiveCount 5 -m \"Hello from 20, without E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client20.txt || true &
-#    PIDVAL=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client21.log -s blob21 --sendid 21 --destid 20 --sendCount 5 --receiveCount 5 -m \"Hello from 21, without E2E Encryption\""
-#    eval $CLIENTCMD >> $CLIENTOUT/client21.txt || true &
-#    PIDVAL2=$!
-#    echo "$CLIENTCMD -- $PIDVAL"
-#    wait $PIDVAL
-#    wait $PIDVAL2
-#
-#
-#fi
-
-## Non-precanned E2E user messaging
-#echo "SENDING E2E MESSAGES TO NEW USERS..."
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --writeContact $CLIENTOUT/rick42-contact.bin --unsafe -m \"Hello from Rick42 to myself, without E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#PIDVAL=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#wait $PIDVAL
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --writeContact $CLIENTOUT/ben43-contact.bin --destfile $CLIENTOUT/rick42-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
-#eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
-#PIDVAL2=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#
-#while [ ! -s $CLIENTOUT/ben43-contact.bin ]; do
-#    sleep 1
-#    echo -n "."
-#done
-#
-#
-#TMPID=$(cat $CLIENTOUT/client42.log | grep -a "User\:" | awk -F' ' '{print $5}')
-#RICKID=${TMPID}
-#echo "RICK ID: $RICKID"
-#TMPID=$(cat $CLIENTOUT/client43.log | grep -a "User\:" | awk -F' ' '{print $5}')
-#BENID=${TMPID}
-#echo "BEN ID: $BENID"
-#
-## Client 42 will now wait for client 43's E2E Auth channel request and confirm
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0"
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#PIDVAL=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#wait $PIDVAL
-#wait $PIDVAL2
-#
-## Test destid syntax too, note wait for 11 messages to catch the message from above ^^^
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#PIDVAL=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43  --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
-#PIDVAL2=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#wait $PIDVAL
-#wait $PIDVAL2
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#PIDVAL=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43  --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
-#PIDVAL2=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#wait $PIDVAL
-#wait $PIDVAL2
-#
-#echo "DELETING CONTACT FROM CLIENT..."
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --delete-channel --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0"
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#echo "$CLIENTCMD -- $PIDVAL"
-#PIDVAL1=$!
-#wait $PIDVAL1
-## NOTE the command below causes the following EXPECTED error:
-## panic: Could not confirm authentication channel for HTAmEeBhbLi6aFqcWsi3OZNDE/642GAchpATjhYFTHwD, waited 120 seconds.
-## Note that the above is example, client IDs will vary
-#CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
-#eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
-#PIDVAL2=$!
-#echo "$CLIENTCMD -- $PIDVAL"
-#wait $PIDVAL2
-
-
-########### KEEP COMMENTED OUT, DO NOT UNCOMMENT WHEN UNCOMMENTING OUT ABOVE ################################
+if [ "$NETWORKENTRYPOINT" == "localhost:8440" ]
+then
+
+    echo "RUNNING BASIC CLIENTS..."
+    runclients
+    echo "RUNNING BASIC CLIENTS (2nd time)..."
+    runclients
+
+    # Send E2E messages between a single user
+    mkdir -p blob9
+    mkdir -p blob18
+    mkdir -p blob91
+    echo "TEST E2E WITH PRECANNED USERS..."
+    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m \"Hi 9->9, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL
+    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m \"Hi 9->9, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client19.log --sendDelay 1000 --sendCount 2 --receiveCount 2 -s blob19/blob19 --slowPolling --sendid 19 --destid 19 -m \"Hi 19->19, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client19.txt 2>&1 &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL
+
+
+    # Send E2E messages between two users
+    CLIENTCMD="timeout 240s ../bin/client  $CLIENTOPTS -l $CLIENTOUT/client9.log --sendDelay 1000 --sendCount 3 --receiveCount 3 -s blob9/blob9 --sendid 9 --destid 18 -m \"Hi 9->18, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
+    PIDVAL1=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client18.log --sendDelay 1000  --sendCount 3 --receiveCount 3 -s blob18/blob18 --sendid 18 --destid 9 -m \"Hi 18->9, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client18.txt 2>&1 &
+    PIDVAL2=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL1
+    wait $PIDVAL2
+
+
+    # Send multiple E2E encrypted messages between users that discovered each other
+    echo "SENDING MESSAGES TO PRECANNED USERS AND FORCING A REKEY..."
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client18_rekey.log --sendCount 20 --receiveCount 20 --destid 9 -s blob18/blob18 -m \"Hello, 9, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 || true &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client9_rekey.log --sendCount 20 --receiveCount 20 --destid 18 -s blob9/blob9 -m \"Hello, 18, with E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 || true &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL || true
+
+    echo "FORCING HISTORICAL ROUNDS... (NON-E2E, PRECAN)"
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client35.log -s blob35 --sendid 1 --destid 2 --sendCount 5 --receiveCount 5 -m \"Hello from 1, without E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client35.txt || true &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client36.log -s blob36 --sendid 2 --destid 1 --sendCount 5 --receiveCount 5 -m \"Hello from 2, without E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client36.txt || true &
+    PIDVAL2=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL
+    wait $PIDVAL2
+
+    echo "FORCING MESSAGE PICKUP RETRY... (NON-E2E, PRECAN)"
+    # Higher timeouts for this test to allow message pickup retry to function
+    CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client20.log -s blob20 --sendid 20 --destid 21 --sendCount 5 --receiveCount 5 -m \"Hello from 20, without E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client20.txt || true &
+    PIDVAL=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client21.log -s blob21 --sendid 21 --destid 20 --sendCount 5 --receiveCount 5 -m \"Hello from 21, without E2E Encryption\""
+    eval $CLIENTCMD >> $CLIENTOUT/client21.txt || true &
+    PIDVAL2=$!
+    echo "$CLIENTCMD -- $PIDVAL"
+    wait $PIDVAL
+    wait $PIDVAL2
+
+
+fi
+
+# Non-precanned E2E user messaging
+echo "SENDING E2E MESSAGES TO NEW USERS..."
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --writeContact $CLIENTOUT/rick42-contact.bin --unsafe -m \"Hello from Rick42 to myself, without E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --writeContact $CLIENTOUT/ben43-contact.bin --destfile $CLIENTOUT/rick42-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+
+while [ ! -s $CLIENTOUT/ben43-contact.bin ]; do
+    sleep 1
+    echo -n "."
+done
+
+
+TMPID=$(cat $CLIENTOUT/client42.log | grep -a "User\:" | awk -F' ' '{print $5}')
+RICKID=${TMPID}
+echo "RICK ID: $RICKID"
+TMPID=$(cat $CLIENTOUT/client43.log | grep -a "User\:" | awk -F' ' '{print $5}')
+BENID=${TMPID}
+echo "BEN ID: $BENID"
+
+# Client 42 will now wait for client 43's E2E Auth channel request and confirm
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
+
+# Test destid syntax too, note wait for 11 messages to catch the message from above ^^^
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43  --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43  --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+wait $PIDVAL2
+
+echo "DELETING CONTACT FROM CLIENT..."
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --delete-channel --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+echo "$CLIENTCMD -- $PIDVAL"
+PIDVAL1=$!
+wait $PIDVAL1
+# NOTE the command below causes the following EXPECTED error:
+# panic: Could not confirm authentication channel for HTAmEeBhbLi6aFqcWsi3OZNDE/642GAchpATjhYFTHwD, waited 120 seconds.
+# Note that the above is example, client IDs will vary
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42  --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL2
+
+
+########### KEEP COMMENTED OUT, UNTIL TESTS ARE FIXED ################################
 # echo "CREATING USERS for REKEY TEST..."
 # JAKEID=$(../bin/client init -s blob100 -l $CLIENTOUT/client100.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/Jake100-contact.bin -v $DEBUGLEVEL)
 # NIAMHID=$(../bin/client init -s blob101 -l $CLIENTOUT/client101.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/Niamh101-contact.bin -v $DEBUGLEVEL)
@@ -476,19 +476,42 @@ runclients() {
 # Generate contact and proto user file for client25
 echo "TESTING PROTO USER FILE..."
 
-CLIENTCMD="../bin/client proto -l $CLIENTOUT/client25.log -s junk25 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/josh25-contact.bin --protoUserOut $CLIENTOUT/client25Proto.json --unsafe -m \"Hello from Rick42 to myself, without E2E Encryption\""
+CLIENTCMD="../bin/client proto -l $CLIENTOUT/client25.log -s blob11420 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/josh25-contact.bin --protoUserOut $CLIENTOUT/client25Proto.json "
 eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
 wait $PIDVAL
 
 # Generate contact and proto user file for client 26
-CLIENTCMD="../bin/client proto -l $CLIENTOUT/client26.log -s junk26 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jonah26-contact.bin --protoUserOut $CLIENTOUT/client26Proto.json --send-auth-request --sendCount 0 --receiveCount 0"
+CLIENTCMD="../bin/client proto -l $CLIENTOUT/client26.log -s blob11421 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jonah26-contact.bin --protoUserOut $CLIENTOUT/client26Proto.json"
 eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
 wait $PIDVAL
 
+# Clients will now load from the protoUser file and write to session
+CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json"
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --protoUserPath $CLIENTOUT/client26Proto.json"
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL2"
+wait $PIDVAL
+wait $PIDVAL2
+
+# Continue with E2E testing with session files loaded from proto
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --writeContact $CLIENTOUT/josh25-contact.bin --unsafe -m \"Hello from Josh25 to myself, without E2E Encryption\""
+eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
+PIDVAL=$!
+echo "$CLIENTCMD -- $PIDVAL"
+wait $PIDVAL
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --writeContact $CLIENTOUT/jonah26-contact.bin --destfile $CLIENTOUT/josh25-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
+eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true &
+PIDVAL2=$!
+echo "$CLIENTCMD -- $PIDVAL"
+
 while [ ! -s $CLIENTOUT/jonah26-contact.bin ]; do
     sleep 1
     echo -n "."
@@ -502,30 +525,31 @@ TMPID=$(cat $CLIENTOUT/client26.log | grep -a "User\:" | awk -F' ' '{print $5}')
 JONAHID=${TMPID}
 echo "JONAH ID: $JONAHID"
 
-# Client 25 will now wait for client 26's E2E Auth channel request and confirm
-CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json --destfile $CLIENTOUT/jonah26-contact.bin --sendCount 0 --receiveCount 0"
+## Client 25 will now wait for client 26's E2E Auth channel request and confirm
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destfile $CLIENTOUT/jonah26-contact.bin --sendCount 0 --receiveCount 0"
 eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
 wait $PIDVAL
 wait $PIDVAL2
+#
 
-# Send E2E messages
-CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json  --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
+# Send E2E messages with written sessions
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
 eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
-CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --protoUserPath $CLIENTOUT/client26Proto.json  --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26  --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
 eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true &
 PIDVAL2=$!
 echo "$CLIENTCMD -- $PIDVAL"
 wait $PIDVAL
 wait $PIDVAL2
-CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25  --protoUserPath $CLIENTOUT/client25Proto.json  --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\""
 eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
-CLIENTCMD="timeout 240s ../bin/client proto $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --protoUserPath $CLIENTOUT/client26Proto.json  --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
+CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\""
 eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true &
 PIDVAL2=$!
 echo "$CLIENTCMD -- $PIDVAL"