calculation update