update calculate