work-on: accepting int negative values and overflow/carry errors for sum and avg