void product now has error handling