added transaction_id generator