def _build_params(self, location, provider_key, **kwargs):
        """Will be overridden according to the targetted web service"""
        base_kwargs = {
            'q': location,
            'fuzzy': kwargs.get('fuzzy', 1.0),
            'username': provider_key,
            'maxRows': kwargs.get('maxRows', 1),
        }
        # check out for bbox in kwargs
        bbox = kwargs.pop('proximity', None)
        if bbox is not None:
            bbox = BBox.factory(bbox)
            base_kwargs.update(
                {'east': bbox.east, 'west': bbox.west,
                 'north': bbox.north, 'south': bbox.south})

        # look out for valid extra kwargs
        supported_kwargs = set((
            'name', 'name_equals', 'name_startsWith', 'startRow',
            'country', 'countryBias', 'continentCode',
            'adminCode1', 'adminCode2', 'adminCode3', 'cities',
            'featureClass', 'featureCode',
            'lang', 'type', 'style',
            'isNameRequired', 'tag', 'operator', 'charset',
            'east', 'west', 'north', 'south',
            'orderby', 'inclBbox',
        ))
        found_kwargs = supported_kwargs & set(kwargs.keys())
        LOGGER.debug("Adding extra kwargs %s", found_kwargs)

        # update base kwargs with extra ones
        base_kwargs.update(dict(
            [(extra, kwargs[extra]) for extra in found_kwargs]
        ))
        return base_kwargs
Will be overridden according to the targetted web service