added recalculate function