fix newX with product