don't rollback unless in transaction