product functs update 2