finish calculate