add more test for transact