modifyAndCalc modifies