calling OnCompleteUrl should have been optional, not required