async def METHOD_NAME(self, payload: dict, in_edge=None) -> Result:
    try:
        dot = self._get_dot_accessor(payload)
        ip = dot[self.config.ip]
        location = await self.client.fetch(ip)
        result = {
            "city": location.city.name,
            "country": {
                "name": location.country.name,
                "code": location.country.iso_code
            },
            "county": location.subdivisions.most_specific.name,
            "postal": location.postal.code,
            "latitude": location.location.latitude,
            "longitude": location.location.longitude
        }
        return Result(port="location", value=result)
    except Exception as e:
        self.console.error(str(e))
        return Result(port="error", value={"payload": payload, "error": str(e)})