product functs update 5 - 3