new class Transaction