add constructor recalc