$product should not be an optional argument