better support for transactions and doing commit() via the database object returned