updates
maxproduct completed not tested