def request(self, command, **kwargs):
        """Function that builds the request and returns the response

        Parameters:
            * **command (str):** The command that has to be sent to the oxd-server
            * ** **kwargs:** The parameters that should accompany the request

        Returns:
            **dict:** the returned response from oxd-server as a dictionary
        """
        url = self.base + command.replace("_", "-")

        req = urllib2.Request(url, json.dumps(kwargs))
        req.add_header("User-Agent", "oxdpython/%s" % __version__)
        req.add_header("Content-type", "application/json; charset=UTF-8")


        # add the protection token if available
        if self.access_token:
            req.add_header("Authorization",
                           "Bearer {0}".format(self.access_token))

        gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
        resp = urllib2.urlopen(req, context=gcontext)

        return json.load(resp)