Product and sum implementions