def remove_params(params)
      self.tap do |u|
        u.query_values = (u.query_values || {}).tap do |qv|
          params.each do |key, value|
            qv.delete key
          end
        end
        if u.query_values.empty?
          u.query_values = nil
        end
      end
    end
def remove_params(params)
      self.tap do |u|
        u.query_values = (u.query_values || {}).tap do |qv|
          params.each do |key, value|
            qv.delete key
          end
        end
        if u.query_values.empty?
          u.query_values = nil
        end
      end
    end
params can be an array or a hash