working on  transaction