<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def geocode_address(self, address, **kwargs):
 """ Returns a Location dictionary with the components of the queried address and the geocoded location. { "input": { "address_components": { "number": "1600", "street": "Pennsylvania", "suffix": "Ave", "city": "Washington", "state": "DC" }, "formatted_address": "1600 Pennsylvania Ave, Washington DC" }, "results": [ { "address_components": { "number": "1600", "street": "Pennsylvania", "suffix": "Ave", "city": "Washington", "state": "DC", "zip": "20500" }, "formatted_address": "1600 Pennsylvania Ave, Washington DC, 20500", "location": { "lat": 38.897700000000, "lng": -77.03650000000, }, "accuracy": 1 }, { "address_components": { "number": "1600", "street": "Pennsylvania", "suffix": "Ave", "city": "Washington", "state": "DC", "zip": "20500" }, "formatted_address": "1600 Pennsylvania Ave, Washington DC, 20500", "location": { "lat": 38.897700000000, "lng": -77.03650000000, }, "accuracy": 0.8 } ] } """

        fields = ",".join(kwargs.pop("fields", []))
        response = self._req(verb="geocode", params={"q": address, "fields": fields})
        if response.status_code != 200:
            return error_response(response)

        return Location(response.json())