def merge_kitchens_improved(self, from_kitchen, to_kitchen, resolved_conflicts=None):
        """
        merges kitchens
        '/v2/kitchen/merge/<string:kitchenname>/<string:kitchenname>', methods=['POST']
        :param resolved_conflicts:
        :param self: DKCloudAPI
        :param from_kitchen: string
        :param to_kitchen: string
        :rtype: dict
        """
        rc = DKReturnCode()
        if from_kitchen is None or isinstance(from_kitchen, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with from kitchen')
            return rc
        if to_kitchen is None or isinstance(to_kitchen, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with to kitchen')
            return rc
        url = '%s/v2/kitchen/merge/%s/%s' % (self.get_url_for_direct_rest_call(), from_kitchen, to_kitchen)
        try:
            if resolved_conflicts is not None and len(resolved_conflicts) > 0:
                data = dict()
                data['resolved_conflicts'] = resolved_conflicts
                response = requests.post(url, data=json.dumps(data), headers=self._get_common_headers())
            else:
                response = requests.post(url, headers=self._get_common_headers())
            rdict = self._get_json(response)
        except (RequestException, ValueError, TypeError), c:
            rc.set("merge_kitchens: exception: %s" % str(c))
            return rc
        if DKCloudAPI._valid_response(response):
            rc.set(rc.DK_SUCCESS, None, rdict)
            return rc
        else:
            arc = DKAPIReturnCode(rdict, response)
            rc.set(rc.DK_FAIL, arc.get_message())
            return rc