diff --git a/changes.go b/changes.go
index 6358307..20e7f6d 100644
--- a/changes.go
+++ b/changes.go
@@ -336,7 +336,7 @@
 	lastSequence = seq
 	err := updateLastSequence(seq)
 	if err != nil {
-		log.Panic("Unable to update Sequence in DB")
+		log.Panicf("Unable to update Sequence in DB. Err {%v}", err)
 	}
 
 }
diff --git a/data.go b/data.go
index 878038d..d9acdad 100644
--- a/data.go
+++ b/data.go
@@ -49,7 +49,12 @@
 (Currently, the snapshot never changes, but this is future-proof)
 */
 func initDB(db apid.DB) error {
-	_, err := db.Exec(`
+	tx, err := db.Begin()
+	if err != nil {
+		log.Errorf("initDB(): Unable to get DB tx err: {%v}", err)
+		return err
+	}
+	_, err = tx.Exec(`
 	CREATE TABLE IF NOT EXISTS APID (
 	    instance_id text,
 	    apid_cluster_id text,
@@ -58,9 +63,16 @@
 	);
 	`)
 	if err != nil {
+		rollbackTxn(tx)
+		log.Errorf("initDB(): Unable to tx exec err: {%v}", err)
 		return err
 	}
-
+	err = tx.Commit()
+	if err != nil {
+		rollbackTxn(tx)
+		log.Errorf("initDB(): tx commit err: {%v}", err)
+		return err
+	}
 	log.Debug("Database tables created.")
 	return nil
 }
@@ -426,7 +438,7 @@
 
 	log.Debugf("updateLastSequence: %s", lastSequence)
 
-	db, err := dataService.DB()
+	db, err := dataService.DBVersion(apidInfo.LastSnapshot)
 	if err != nil {
 		log.Errorf("updateLastSequence: Unable to get DB Err: {%v}", err)
 		return err
@@ -437,7 +449,7 @@
 		return err
 	}
 
-	_, err = tx.Exec("UPDATE EDGEX_APID_CLUSTER SET last_sequence=$1;", lastSequence)
+	_, err = tx.Exec("UPDATE EDGEX_APID_CLUSTER SET last_sequence=?;", lastSequence)
 	if err != nil {
 		log.Errorf("UPDATE EDGEX_APID_CLUSTER Failed: %v", err)
 		rollbackTxn(tx)
@@ -450,7 +462,6 @@
 		return err
 	}
 	log.Debugf("UPDATE EDGEX_APID_CLUSTER Success: %s", lastSequence)
-	log.Infof("Replication lastSequence=%s", lastSequence)
 	return nil
 }
 
