support new transaction api