add simple transaction support (begin_transaction, commit, rollback)