public function fetch($word, $verb, $prefetchDetails = false)
    {
        $url = 'https://wordsapiv1.p.mashape.com/words/'.rawurlencode($word);
        $verbIsHidden = array_key_exists($verb, $this->hiddenVerbs) || $prefetchDetails;
        if (!$verbIsHidden) {
            $url .= '/'.$verb;
        }
        $headers = [
            'X-Mashape-Key: '.$this->api_key,
            'Accept: application/json',
        ];

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($curl);
        $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        curl_close($curl);

        if ($statusCode !== 200) {
            return false;
        }

        if (is_null($response) || empty($response)) {
            return false;
        }

        $data = json_decode($response, true);
        if ($verbIsHidden) {
            return $this->transformFullRequest($data);
        }

        return [$verb => $this->transformVerb($data, $verb)];
    }