Revamp the transaction manager