renamed Tx to Txn so as not to confuse "transaction" with "transmit"