product + transaction (revised)