only call completion block if it was set