txn scope guard added, basic dry run working