implementing product without add