separating out the completion blocks