working on transaction