transactions and tests