diff --git a/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php b/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php
deleted file mode 100644
index 5e9470ff..00000000
--- a/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php
+++ /dev/null
@@ -1,195 +0,0 @@
- $optionsOrderTypes,
- 'optionsDelivTypes' => $optionsDelivTypes,
- 'optionsPayTypes' => $optionsPayTypes,
- 'optionsPayStatuses' => $optionsPayStatuses,
- 'optionsPayment' => $optionsPayment
- );
-
- $arOrder = CSaleOrder::GetById($ID);
- $result = ICrmOrderActions::orderCreate($arOrder, $api, $arParams, true);
-
- if(!$result) {
- ICrmOrderActions::eventLog('ICrmOrderEvent::writeDataOnOrderCreate', 'ICrmOrderActions::orderCreate', 'error during creating order');
- return true;
- }
-
- return true;
- }
-
- /**
- *
- * @param type $ID -- orderId
- * @param type $cancel -- Y / N - cancel order status
- * @param type $reason -- cancel reason
- * @return boolean
- */
- function onSaleCancelOrder($ID, $cancel, $reason) {
- if(!$ID || !$cancel || ($cancel != 'Y'))
- return true;
-
- if (!CModule::IncludeModule('iblock')) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSaleCancelOrder', 'iblock', 'module not found');
- return true;
- }
-
- if (!CModule::IncludeModule("sale")) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSaleCancelOrder', 'sale', 'module not found');
- return true;
- }
-
- if (!CModule::IncludeModule("catalog")) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSaleCancelOrder', 'catalog', 'module not found');
- return true;
- }
-
- $api_host = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_KEY_OPTION, 0);
-
- //saved cat params
- $optionsPayStatuses = unserialize(COption::GetOptionString(self::$MODULE_ID, self::$CRM_PAYMENT_STATUSES, 0)); // --statuses
-
- $api = new IntaroCrm\RestApi($api_host, $api_key);
-
- $order = array(
- 'externalId' => (int) $ID,
- 'status' => $optionsPayStatuses[$cancel],
- 'statusComment' => ICrmOrderActions::toJSON($reason)
- );
-
- $api->orderEdit($order);
-
- // error pushing order
- if ($api->getStatusCode() != 201)
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSaleCancelOrder', 'IntaroCrm\RestApi::orderEdit', $api->getLastError());
-
- return true;
- }
-
- /**
- *
- * @param type $ID -- orderId
- * @param type $payed -- Y / N - pay order status
- * @return boolean
- */
- function onSalePayOrder($ID, $payed) {
- if(!$ID || !$payed || ($payed != 'Y'))
- return true;
-
- if (!CModule::IncludeModule('iblock')) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSalePayOrder', 'iblock', 'module not found');
- return true;
- }
-
- if (!CModule::IncludeModule("sale")) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSalePayOrder', 'sale', 'module not found');
- return true;
- }
-
- if (!CModule::IncludeModule("catalog")) {
- //handle err
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSalePayOrder', 'catalog', 'module not found');
- return true;
- }
-
- $api_host = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_KEY_OPTION, 0);
-
- //saved cat params
- $optionsPayment = unserialize(COption::GetOptionString(self::$MODULE_ID, self::$CRM_PAYMENT, 0));
-
- $api = new IntaroCrm\RestApi($api_host, $api_key);
-
- $order = array(
- 'externalId' => (int) $ID,
- 'paymentStatus' => $optionsPayment[$payed]
- );
-
- $api->orderEdit($order);
-
- // error pushing order
- if ($api->getStatusCode() != 201)
- ICrmOrderActions::eventLog('ICrmOrderEvent::onSalePayOrder', 'IntaroCrm\RestApi::orderEdit', $api->getLastError());
-
- return true;
- }
-}
\ No newline at end of file
diff --git a/intaro.intarocrm/description.ru b/intaro.intarocrm/description.ru
new file mode 100644
index 00000000..8a87c192
--- /dev/null
+++ b/intaro.intarocrm/description.ru
@@ -0,0 +1,3 @@
+* Доработан скрипт генерации ICML-файла в части работы со спецсимволами
+* Добавлена поддержка многосайтовости
+* Добавлена возможность выгрузки способов доставки на втором шаге установки
diff --git a/intaro.intarocrm/export/export_run.php b/intaro.intarocrm/export/export_run.php
deleted file mode 100644
index ea2d7464..00000000
--- a/intaro.intarocrm/export/export_run.php
+++ /dev/null
@@ -1,19 +0,0 @@
-iblocks = $IBLOCK_EXPORT;
-$loader->articleProperties = $IBLOCK_PROPERTY_ARTICLE;
-$loader->filename = $SETUP_FILE_NAME;
-$loader->application = $APPLICATION;
-$loader->Load();
\ No newline at end of file
diff --git a/intaro.intarocrm/export/export_setup.php b/intaro.intarocrm/export/export_setup.php
deleted file mode 100644
index d0c92f81..00000000
--- a/intaro.intarocrm/export/export_setup.php
+++ /dev/null
@@ -1,295 +0,0 @@
-
-
-
-if(!check_bitrix_sessid()) return;
-
-__IncludeLang(GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/intaro.intarocrm/lang/", "/icml_export_setup.php"));
-
-if (($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 1)
-{
- if (isset($arOldSetupVars['SETUP_FILE_NAME']))
- $SETUP_FILE_NAME = $arOldSetupVars['SETUP_FILE_NAME'];
- if (isset($arOldSetupVars['SETUP_PROFILE_NAME']))
- $SETUP_PROFILE_NAME = $arOldSetupVars['SETUP_PROFILE_NAME'];
- if (isset($arOldSetupVars['IBLOCK_EXPORT']))
- $IBLOCK_EXPORT = $arOldSetupVars['IBLOCK_EXPORT'];
- if (isset($arOldSetupVars['IBLOCK_PROPERTY_ARTICLE']))
- $IBLOCK_PROPERTY_ARTICLE = $arOldSetupVars['IBLOCK_PROPERTY_ARTICLE'];
-}
-
-
-if ($STEP>1)
-{
-
-
- if (count($IBLOCK_EXPORT) < count($IBLOCK_PROPERTY_ARTICLE))
- $arSetupErrors[] = GetMessage("ERROR_ARTICLE_NOT_SET");
-
- if (strlen($SETUP_FILE_NAME)<=0)
- {
- $arSetupErrors[] = GetMessage("CET_ERROR_NO_FILENAME");
- }
- elseif ($APPLICATION->GetFileAccessPermission($SETUP_FILE_NAME) < "W")
- {
- $arSetupErrors[] = str_replace("#FILE#", $SETUP_FILE_NAME, GetMessage('CET_YAND_RUN_ERR_SETUP_FILE_ACCESS_DENIED'));
- }
-
- if (($ACTION=="EXPORT_SETUP" || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && strlen($SETUP_PROFILE_NAME)<=0)
- {
- $arSetupErrors[] = GetMessage("CET_ERROR_NO_PROFILE_NAME");
- }
-
- if (!empty($arSetupErrors))
- {
- $STEP = 1;
- }
-}
-
-if (!empty($arSetupErrors))
- echo ShowError(implode('
', $arSetupErrors));
-
-
-if ($STEP==1)
-{
-
-
-?>
-