abstracted multiply-recalc function, add