public function getElements($using, $value)
    {
        try {
            $results = $this->curl(
                'POST',
                '/elements',
                array(
                    'using' => $using,
                    'value' => $value
                )
            );
        }
        catch (E5xx_NoSuchElementWebDriverError $e) {
            // the element does not exist
            throw new E5xx_NoSuchElementWebDriverError(
                sprintf(
                    'Element not found with %s, %s',
                    $using,
                    $value
                ) . "\n\n" . $e->getMessage(),
                $e->getResults()
            );
        }

        // if we get here, then we can return the set of elements back
        // to the caller :)

        // if (!(is_array($results['value'])))
        // {
        //     var_dump($results);
        // }

        return array_filter(array_map(
            array($this, 'newWebDriverElement'), $results['value'])
        );
    }