added TransactionManager class