add updateCompletionBlock