refactored updateCompletion