add transaction handler