diff --git a/auth/auth-cass/cass_init/.gitignore b/auth/auth-cass/cass_init/.gitignore
index ce22752..3387bc3 100644
--- a/auth/auth-cass/cass_init/.gitignore
+++ b/auth/auth-cass/cass_init/.gitignore
@@ -1 +1,2 @@
 temp.cql
+/dats/*
diff --git a/auth/auth-cass/cass_init/cmd.sh b/auth/auth-cass/cass_init/cmd.sh
index d1e7051..970aef4 100644
--- a/auth/auth-cass/cass_init/cmd.sh
+++ b/auth/auth-cass/cass_init/cmd.sh
@@ -85,50 +85,11 @@
 }
 
 function install_onap {
-	install_cql initialized
-
-	# Change date expiring dat files to more recent
-	status Creating ONAP Identities
-	ID_FILE=/opt/app/aaf/cass_init/sample.identities.dat	
-    	if [ -e $ID_FILE ]; then
-  	    DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
-  	    echo $DATE
-            CRED="/opt/app/aaf/cass_init/dats/cred.dat"
-            # Enter for People
-            echo "Default Passwords for Apps"
-            for ID in $(grep '|a|' $ID_FILE | sed -e "s/|.*//"); do
-               if [ "$ID" = "aaf" ]; then
-                  DOMAIN="aaf.osaaf.org";
-               else
-                  DOMAIN="$ID.onap.org";
-               fi
-               unset FIRST
-               for D in ${DOMAIN//./ }; do
-                  if [ -z "$FIRST" ]; then
-                    NS="$D"
-                    FIRST="N"
-                  else
-                    NS="$D.$NS"
-                  fi
-               done
-               echo "$ID@$DOMAIN|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|$NS|53344|" >> $CRED
-            done
-  	    
-	    # Enter for People
-            for ID in $(grep '|e|' $ID_FILE | sed -e "s/|.*//"); do
-               echo "$ID@people.osaaf.org|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.osaaf.people|53344|" >> $CRED
-            done
-
-	    # Change UserRole
-	    status Setting up User Roles
-            mv dats/user_role.dat tmp
-            sed "s/\(^.*|\)\(.*|\)\(.*|\)\(.*\)/\1${DATE}|\3\4/" tmp > dats/user_role.dat
-
-	    # Remove ID File, which is marker for initializing Creds
-            rm $ID_FILE
-        fi
-      status Pushing data to cassandra
-      bash push.sh
+    install_cql initialized
+    status prep data for bootstrapping
+    bash prep.sh
+    status push data to cassandra
+    bash push.sh
     status ready
 }
 
diff --git a/auth/auth-cass/cass_init/data.sh b/auth/auth-cass/cass_init/data.sh
deleted file mode 100644
index 0374e61..0000000
--- a/auth/auth-cass/cass_init/data.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-# 
-# Copies of Repo data need to be added to "dats" dir for loading by push.sh
-#
-# Further, repo data has dates that are out of date.  We need to update reasonable
-# expiration dates
-#
-
-DIR=/opt/app/aaf/cass_init
-cd $DIR/dats
-ID_FILE=$DIR/opt/app/aaf/cass_init/
-
-    if [ -e $ID_FILE ]; then
-      if [ "$(uname -s)" = "Darwin" ]; then 
-        DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -v "+6m")
-      else 
-        DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
-      fi
-      echo $DATE
-      CRED="cred.dat"
-      # Enter for People
-      echo "Default Passwords for People"
-      for ID in $(grep '|a|' $ID_FILE | sed -e "s/|.*//"); do
-	 if [ "$ID" = "aaf" ]; then
-	    DOMAIN="aaf.osaaf.org";
-	 else
-            DOMAIN="$ID.onap.org";
-	 fi
-	 unset FIRST
-	 for D in ${DOMAIN//./ }; do
-            if [ -z "$FIRST" ]; then
-	      NS="$D"
-	      FIRST="N"
-	    else
-              NS="$D.$NS"
-	    fi
-         done     
-	 echo "$ID@$DOMAIN|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|$NS|53344|" >> $CRED
-      done
-    
-      for ID in $(grep '|e|' $ID_FILE | sed -e "s/|.*//"); do
-	 echo "$ID@people.osaaf.org|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.osaaf.people|53344|" >> $CRED
-      done
-    
-      mv user_role.dat tmp
-      sed "s/\(^.*|\)\(.*|\)\(.*|\)\(.*\)/\1${DATE}|\3\4/" tmp > user_role.dat 
-
-      for DAT in ns perm role ns_attrib user_role cred; do 
-          $DOCKER container cp $DAT.dat aaf_cass:/tmp/$DAT.dat
-          $DOCKER exec aaf_cass bash /usr/bin/cqlsh -k authz -e "COPY authz.$DAT FROM '/tmp/$DAT.dat' WITH DELIMITER='|'"
-          $DOCKER exec -t aaf_cass rm /tmp/$DAT.dat
-      done
-      rm $CRED
-      mv tmp user_role.dat
-    else
-        echo DInstall requires access to 'identities.dat'
-    fi
-    cd -
-
diff --git a/auth/auth-cass/cass_init/prep.sh b/auth/auth-cass/cass_init/prep.sh
new file mode 100644
index 0000000..5639ca4
--- /dev/null
+++ b/auth/auth-cass/cass_init/prep.sh
@@ -0,0 +1,17 @@
+#/bin/bash 
+
+cd dats
+export DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
+
+TEMP=$(mktemp)
+
+mv user_role.dat $TEMP
+cat $TEMP | awk -F '|' '{print $1"|"$2"|"ENVIRON["DATE"]"|"$4"|"$5}' > user_role.dat
+
+mv cred.dat $TEMP
+cat $TEMP | awk -F '|' '{print $1"|"$2"|"ENVIRON["DATE"]"|"$4"|"$5"|"$6"|"$7"|"$8}' > cred.dat
+
+rm $TEMP
+
+cd - > /dev/null
+
