make showWithProvider return the completion block