add TransactionInterface