add noise only when necessary, and make sure the URL parameter wont conflict