fixed adding error, rewrote chunk of recalc