diff --git a/proj/sxlight/vs2013/sxlight.vcxproj b/proj/sxlight/vs2013/sxlight.vcxproj
index 681e5c4de42937d0fcc054c0f5172842de724e35..0b4043ec3967640b871b0bf65b9e4a641fa20531 100644
--- a/proj/sxlight/vs2013/sxlight.vcxproj
+++ b/proj/sxlight/vs2013/sxlight.vcxproj
@@ -185,21 +185,9 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\..\..\source\light\LightSystem.cpp" />
-    <ClCompile Include="..\..\..\source\light\ml_data.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="..\..\..\source\light\plugin_main.cpp" />
     <ClCompile Include="..\..\..\source\light\shadow.cpp" />
     <ClCompile Include="..\..\..\source\light\ShadowCache.cpp" />
-    <ClCompile Include="..\..\..\source\light\sxlight.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="..\..\..\source\light\sxlight_dll.cpp" />
   </ItemGroup>
   <ItemGroup>
@@ -207,10 +195,8 @@
     <ClInclude Include="..\..\..\source\light\IXLight.h" />
     <ClInclude Include="..\..\..\source\light\IXLightSystem.h" />
     <ClInclude Include="..\..\..\source\light\light.h" />
-    <ClInclude Include="..\..\..\source\light\ml_data.h" />
     <ClInclude Include="..\..\..\source\light\shadow.h" />
     <ClInclude Include="..\..\..\source\light\ShadowCache.h" />
-    <ClInclude Include="..\..\..\source\light\sxlight.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/proj/sxlight/vs2013/sxlight.vcxproj.filters b/proj/sxlight/vs2013/sxlight.vcxproj.filters
index c57c72b6d63a89dbd38a293bbd7785d0b7a66657..bda9378cd7b38898c6d984c3ecca5eae0ba27010 100644
--- a/proj/sxlight/vs2013/sxlight.vcxproj.filters
+++ b/proj/sxlight/vs2013/sxlight.vcxproj.filters
@@ -1,12 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <ClCompile Include="..\..\..\source\light\ml_data.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\source\light\sxlight.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\source\light\light.cpp">
       <Filter>Source</Filter>
     </ClCompile>
@@ -35,15 +29,9 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\..\source\light\sxlight.h">
-      <Filter>Headers</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\source\light\light.h">
       <Filter>Headers</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\source\light\ml_data.h">
-      <Filter>Headers</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\source\light\IXLight.h">
       <Filter>Headers</Filter>
     </ClInclude>
diff --git a/source/light/light.h b/source/light/light.h
index 1d93c8de116a3d9e85aa796441ce54e0eee0a157..c5952cd50daac142300b905c56bf552722b27206 100644
--- a/source/light/light.h
+++ b/source/light/light.h
@@ -15,8 +15,9 @@ See the license in LICENSE
 #include <graphix/graphix.h>
 #include <xcommon/IXMutationObserver.h>
 
-#include "sxlight.h"
-#include "ml_data.h"
+#include <gcore/sxgcore.h>
+
+#include "IXLight.h"
 
 class CLightSystem;
 class CXLight: public virtual IXLight
diff --git a/source/light/ml_data.cpp b/source/light/ml_data.cpp
deleted file mode 100644
index 76f29a2371ae785942b7b3ccb8d9b959ea0a1244..0000000000000000000000000000000000000000
--- a/source/light/ml_data.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-
-/***********************************************************
-Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
-See the license in LICENSE
-***********************************************************/
-
-#include "ml_data.h"
-
-namespace light_data
-{
-	void Init();
-
-	IGXDevice *pDXDevice = 0;
-
-	IGXSamplerState *pSamplerPointClamp;
-	IGXSamplerState *pSamplerLinearClamp;
-	IGXSamplerState *pSamplerPointWrap;
-
-	namespace shader_id
-	{
-		namespace vs
-		{
-			ID idResPosDepth;
-			
-			ID idScreenOut;
-
-			ID idSMDepthGeomPSSMDirect;
-			ID idSMDepthGeomCube;
-
-			ID idSMDepthGrassPSSMDirect;
-			ID idSMDepthGrassCube;
-
-			ID idSMDepthTreePSSMDirect;
-			ID idSMDepthTreeCube;
-
-			ID idSMDepthSkinPSSMDirect;
-			ID idSMDepthSkinCube;
-
-			ID idStdGeom;
-			ID idStdTree;
-			ID idStdGrass;
-			ID idStdSkin;
-
-			ID idLightBound;
-		};
-
-		namespace ps
-		{
-			ID idSMDepthGeomPSSMDirect;
-			ID idSMDepthGeomCube;
-
-			ID idSMDepthGreenPSSMDirect;
-			ID idSMDepthGreenCube;
-
-			ID idSMDepthSkinPSSMDirect;
-			ID idSMDepthSkinCube;
-
-			ID idPPBlurDepthBasedNoise;
-			ID idPSSM4;
-			ID idPSSM3;
-			ID idPPBlurDepthBased;
-			ID idGenShadowDirect4;
-			ID idGenShadowDirect9;
-
-			ID idGenShadowCube1;
-			ID idGenShadowCube6;
-
-			ID idScreenOut;
-
-			ID idStdGeom;
-			ID idStdGeomCP;
-			ID idStdGreen;
-			ID idStdGreenCP;
-			ID idStdSkin;
-			ID idStdSkinCP;
-
-			ID idLightBound;
-		};
-
-		namespace kit
-		{
-			ID idSMDepthGeomPSSMDirect;
-			ID idResPosDepthPSSM3;
-			ID idResPosDepthPSSM4;
-			ID idResPosDepthGenShadowDirect4;
-			ID idResPosDepthGenShadowDirect9;
-			ID idSMDepthGeomCube;
-			ID idResPosDepthGenShadowCube1;
-			ID idResPosDepthGenShadowCube6;
-			ID idSMDepthSkinPSSMDirect;
-			ID idSMDepthTreePSSMDirect;
-			ID idSMDepthGrassPSSMDirect;
-			ID idSMDepthGrassCube;
-			ID idSMDepthTreeCube;
-			ID idSMDepthSkinCube;
-			ID idPPBlurDepthBasedNoise;
-			ID idPPBlurDepthBased;
-
-			ID idLightBound;
-		};
-	};
-};
-
-void light_data::Init()
-{
-	light_data::pDXDevice = SGCore_GetDXDevice();
-		
-	GXSamplerDesc samplerDesc;
-	samplerDesc.filter = GXFILTER_MIN_MAG_MIP_POINT;
-	pSamplerPointWrap = pDXDevice->createSamplerState(&samplerDesc);
-	 
-	samplerDesc.addressU = GXTEXTURE_ADDRESS_CLAMP;
-	samplerDesc.addressV = GXTEXTURE_ADDRESS_CLAMP;
-	samplerDesc.addressW = GXTEXTURE_ADDRESS_CLAMP;
-	samplerDesc.filter = GXFILTER_MIN_MAG_MIP_POINT;
-	pSamplerPointClamp = pDXDevice->createSamplerState(&samplerDesc);
-
-	samplerDesc.filter = GXFILTER_MIN_MAG_MIP_LINEAR;
-	pSamplerLinearClamp = pDXDevice->createSamplerState(&samplerDesc);
-
-
-	//SGCore_LoadTexLoadTextures();
-
-	shader_id::vs::idSMDepthSkinPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_skin_pssm_direct.vs");
-	shader_id::ps::idSMDepthSkinPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_skin_pssm_direct.ps");
-	shader_id::kit::idSMDepthSkinPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthSkinPSSMDirect, shader_id::ps::idSMDepthSkinPSSMDirect);
-
-	shader_id::vs::idSMDepthGeomPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_geom_pssm_direct.vs");
-	shader_id::ps::idSMDepthGeomPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_geom_pssm_direct.ps");
-	shader_id::kit::idSMDepthGeomPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGeomPSSMDirect, shader_id::ps::idSMDepthGeomPSSMDirect);
-
-
-	shader_id::vs::idSMDepthGeomCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_geom_cube.vs");
-	shader_id::ps::idSMDepthGeomCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_geom_cube.ps");
-	shader_id::kit::idSMDepthGeomCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGeomCube, shader_id::ps::idSMDepthGeomCube);
-
-	shader_id::vs::idSMDepthSkinCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_skin_cube.vs");
-	shader_id::ps::idSMDepthSkinCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_skin_cube.ps");
-	shader_id::kit::idSMDepthSkinCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthSkinCube, shader_id::ps::idSMDepthSkinCube);
-
-	
-	shader_id::vs::idSMDepthTreePSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_pssm_direct.vs", "sm_depth_tree_pssm_direct.vs");
-	
-	GXMacro Defines_GRASS[] = { { "_GRASS_", "" }, { 0, 0 } };
-	shader_id::vs::idSMDepthGrassPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_pssm_direct.vs", "sm_depth_grass_pssm_direct.vs", Defines_GRASS);
-
-	shader_id::ps::idSMDepthGreenPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_green_pssm_direct.ps");
-
-
-	shader_id::kit::idSMDepthTreePSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthTreePSSMDirect, shader_id::ps::idSMDepthGreenPSSMDirect);
-	shader_id::kit::idSMDepthGrassPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGrassPSSMDirect, shader_id::ps::idSMDepthGreenPSSMDirect);
-
-
-	shader_id::vs::idSMDepthTreeCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_cube.vs", "sm_depth_tree_cube.vs");
-
-	shader_id::vs::idSMDepthGrassCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_cube.vs", "sm_depth_grass_cube.vs", Defines_GRASS);
-	
-	shader_id::ps::idSMDepthGreenCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_green_cube.ps");
-
-	shader_id::kit::idSMDepthGrassCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGrassCube, shader_id::ps::idSMDepthGreenCube);
-	shader_id::kit::idSMDepthTreeCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthTreeCube, shader_id::ps::idSMDepthGreenCube);
-
-
-	shader_id::vs::idResPosDepth = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "pp_res_pos.vs", "pp_quad_render_res_pos.vs");
-
-	shader_id::ps::idPSSM4 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_pssm.ps");
-	shader_id::kit::idResPosDepthPSSM4 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idPSSM4);
-
-	GXMacro Defines_SPLITS3[] = { { "SPLITS3", "" }, { 0, 0 } };
-	shader_id::ps::idPSSM3 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_pssm.ps", "ppgensm_pssm3split.ps", Defines_SPLITS3);
-	shader_id::kit::idResPosDepthPSSM3 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idPSSM3);
-
-	shader_id::ps::idGenShadowDirect4 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_direct.ps");
-	shader_id::kit::idResPosDepthGenShadowDirect4 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowDirect4);
-	GXMacro Defines_GSD_9[] = { { "GSD_9", "" }, { 0, 0 } };
-	shader_id::ps::idGenShadowDirect9 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_direct.ps", "ppgensm_direct_9.ps", Defines_GSD_9);
-	shader_id::kit::idResPosDepthGenShadowDirect9 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowDirect9);
-
-	shader_id::ps::idGenShadowCube1 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_point.ps");
-	shader_id::kit::idResPosDepthGenShadowCube1 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowCube1);
-	GXMacro Defines_GSC_6[] = { { "GSC_6", "" }, { 0, 0 } };
-	shader_id::ps::idGenShadowCube6 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_point.ps", "ppgensm_point_6.ps", Defines_GSC_6);
-	shader_id::kit::idResPosDepthGenShadowCube6 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowCube6);
-
-	shader_id::ps::idPPBlurDepthBased = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_blur_depth_based.ps");
-	shader_id::ps::idPPBlurDepthBasedNoise = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_blur_depth_based_noise.ps");
-
-	shader_id::vs::idScreenOut = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "pp_quad_render.vs");
-	shader_id::ps::idScreenOut = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_quad_render.ps");
-
-
-	shader_id::kit::idPPBlurDepthBasedNoise = SGCore_ShaderCreateKit(shader_id::vs::idScreenOut, shader_id::ps::idPPBlurDepthBasedNoise);
-	shader_id::kit::idPPBlurDepthBased = SGCore_ShaderCreateKit(shader_id::vs::idScreenOut, shader_id::ps::idPPBlurDepthBased);
-
-
-	shader_id::vs::idStdGeom = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_geom.vs");
-	shader_id::ps::idStdGeom = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_geom.ps");
-
-	GXMacro Defines_CP[] = { { "_CLIP_PLANE_", "" }, { 0, 0 } };
-	shader_id::ps::idStdGeomCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_geom.ps", "stdr_geom_cp.ps", Defines_CP);
-
-	//D3DXMACRO Defines_GRASS[] = { { "_GRASS_", "" }, { 0, 0 } };
-	shader_id::vs::idStdGrass = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_green.vs", "stdr_grass.vs", Defines_GRASS);
-	shader_id::vs::idStdTree = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_green.vs", "stdr_tree.vs");
-
-	shader_id::ps::idStdGreen = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_green.ps");
-	shader_id::ps::idStdGreenCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_green.ps", "stdr_green_cp.ps", Defines_CP);
-
-	shader_id::vs::idStdSkin = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_skin.vs");
-	shader_id::ps::idStdSkin = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_skin.ps");
-
-	shader_id::ps::idStdSkinCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_skin.ps", "stdr_skin_cp.ps", Defines_CP);
-
-	shader_id::vs::idLightBound = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "lighting_bound.vs");
-	//shader_id::ps::idLightBound = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "lighting_bound.ps");
-	//shader_id::kit::idLightBound = SGCore_ShaderCreateKit(shader_id::vs::idLightBound, shader_id::ps::idLightBound);
-	shader_id::kit::idLightBound = SGCore_ShaderCreateKit(shader_id::vs::idLightBound, -1);
-}
diff --git a/source/light/ml_data.h b/source/light/ml_data.h
deleted file mode 100644
index da03ec697119c1526f7b9c8129ff8c86fc84cff6..0000000000000000000000000000000000000000
--- a/source/light/ml_data.h
+++ /dev/null
@@ -1,115 +0,0 @@
-
-/***********************************************************
-Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
-See the license in LICENSE
-***********************************************************/
-
-#ifndef __ML_DATA_H
-#define __ML_DATA_H
-
-#include <gdefines.h>
-
-//#define SM_D3D_CONVERSIONS
-#include <common/Math.h>
-#include <common/array.h>
-
-#include <GRegisterIndex.h>
-
-#include "sxlight.h"
-
-namespace light_data
-{
-	void Init();
-
-	extern IGXDevice *pDXDevice;
-	
-	extern IGXSamplerState *pSamplerPointClamp;
-	extern IGXSamplerState *pSamplerLinearClamp;
-	extern IGXSamplerState *pSamplerPointWrap;
-
-	namespace shader_id
-	{
-		namespace vs
-		{
-			extern ID idResPosDepth;
-			
-			extern ID idScreenOut;
-
-			extern ID idSMDepthGeomPSSMDirect;
-			extern ID idSMDepthGeomCube;
-
-			extern ID idSMDepthGrassPSSMDirect;
-			extern ID idSMDepthGrassCube;
-
-			extern ID idSMDepthTreePSSMDirect;
-			extern ID idSMDepthTreeCube;
-
-			extern ID idSMDepthSkinPSSMDirect;
-			extern ID idSMDepthSkinCube;
-
-			extern ID idStdGeom;
-			extern ID idStdTree;
-			extern ID idStdGrass;
-			extern ID idStdSkin;
-
-			extern ID idLightBound;
-		};
-
-		namespace ps
-		{
-			extern ID idSMDepthGeomPSSMDirect;
-			extern ID idSMDepthGeomCube;
-
-			extern ID idSMDepthGreenPSSMDirect;
-			extern ID idSMDepthGreenCube;
-
-			extern ID idSMDepthSkinPSSMDirect;
-			extern ID idSMDepthSkinCube;
-
-			extern ID idPPBlurDepthBasedNoise;
-			extern ID idPSSM4;
-			extern ID idPSSM3;
-			extern ID idPPBlurDepthBased;
-			extern ID idGenShadowDirect4;
-			extern ID idGenShadowDirect9;
-			
-			extern ID idGenShadowCube1;
-			extern ID idGenShadowCube6;
-
-			extern ID idScreenOut;
-
-			extern ID idStdGeom;
-			extern ID idStdGeomCP;
-			extern ID idStdGreen;
-			extern ID idStdGreenCP;
-			extern ID idStdSkin;
-			extern ID idStdSkinCP;
-
-			extern ID idLightBound;
-		};
-
-		namespace kit
-		{
-			extern ID idSMDepthGeomPSSMDirect;
-			extern ID idResPosDepthPSSM3;
-			extern ID idResPosDepthPSSM4;
-			extern ID idResPosDepthGenShadowDirect4;
-			extern ID idResPosDepthGenShadowDirect9;
-			extern ID idSMDepthGeomCube;
-			extern ID idResPosDepthGenShadowCube1;
-			extern ID idResPosDepthGenShadowCube6;
-			extern ID idSMDepthSkinPSSMDirect;
-			extern ID idSMDepthTreePSSMDirect;
-			extern ID idSMDepthGrassPSSMDirect;
-			extern ID idSMDepthGrassCube;
-			extern ID idSMDepthTreeCube;
-			extern ID idSMDepthSkinCube;
-			extern ID idPPBlurDepthBasedNoise;
-			extern ID idPPBlurDepthBased;
-
-			extern ID idLightBound;
-		};
-	};
-};
-
-#endif
\ No newline at end of file
diff --git a/source/light/sxlight.cpp b/source/light/sxlight.cpp
deleted file mode 100644
index 7702758873388ac4ee5f305a8e39730534c6a638..0000000000000000000000000000000000000000
--- a/source/light/sxlight.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-/***********************************************************
-Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
-See the license in LICENSE
-***********************************************************/
-
-#define SXMATERIAL_LIGTH_VERSION 1
-
-#include "sxlight.h"
-#include "ml_data.h"
-
-#include "light.h"
-
-//##########################################################################
-
-SX_LIB_API long SLight_0GetVersion()
-{
-	return SXMATERIAL_LIGTH_VERSION;
-}
-
-SX_LIB_API void SLight_0Create(const char *szName, bool isUnic)
-{
-	if (szName && strlen(szName) > 1)
-	{
-		if (isUnic)
-		{
-			HANDLE hMutex = CreateMutex(NULL, FALSE, szName);
-			if (GetLastError() == ERROR_ALREADY_EXISTS)
-			{
-				CloseHandle(hMutex);
-				LibReport(REPORT_MSG_LEVEL_ERROR, "%s - none unic name", GEN_MSG_LOCATION);
-				return;
-			}
-		}
-		light_data::Init();
-	}
-	else
-	{
-		LibReport(REPORT_MSG_LEVEL_ERROR, "%s - not init argument [name]", GEN_MSG_LOCATION);
-	}
-}
-
-SX_LIB_API void SLight_AKill()
-{
-}
-
-
-
diff --git a/source/light/sxlight.h b/source/light/sxlight.h
deleted file mode 100644
index 233bbf251b2e2f7e76e9a8ad917db77ed5cfab1e..0000000000000000000000000000000000000000
--- a/source/light/sxlight.h
+++ /dev/null
@@ -1,63 +0,0 @@
-
-/***********************************************************
-Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
-See the license in LICENSE
-***********************************************************/
-
-/*!
-\file
-Заголовочный файл sxlight - библиотеки освещения
-*/
-
-/*! \defgroup sxlight sxlight - библиотека освещения
-@{
-*/
-
-#ifndef __SXLIGHT_H
-#define __SXLIGHT_H
-
-#if defined(_DEBUG)
-#pragma comment(lib, "sxgcore_d.lib")
-#else
-#pragma comment(lib, "sxgcore.lib")
-#endif
-
-#if defined(_DEBUG)
-#pragma comment(lib, "sxphysics_d.lib")
-#else
-#pragma comment(lib, "sxphysics.lib")
-#endif
-
-#undef SX_LIB_API
-#define SX_LIB_API extern "C" __declspec (dllimport)
-#include <gcore/sxgcore.h>
-
-#include "IXLight.h"
-
-#ifdef SX_DLL
-#undef SX_LIB_API
-#define SX_LIB_API extern "C" __declspec (dllexport)
-#endif
-
-#include <gdefines.h>
-
-/*! \name Базовые функции библиотеки
-@{*/
-
-//! версия подсистемы
-SX_LIB_API long SLight_0GetVersion();			
-
-//! инициализция подсистемы
-SX_LIB_API void SLight_0Create(
-	const char *szName,				//!< присваиваемое имя
-	bool isUnic = true				//!< должна ли подсистема быть уникальной по имени
-	);
-
-//! уничтожить подсистему
-SX_LIB_API void SLight_AKill();
-
-//!@}
-
-#endif
-
-//!@} sxlight
diff --git a/source/light/sxlight_dll.cpp b/source/light/sxlight_dll.cpp
index 88b1ec58eac1f5e48ba53b6f764552b3f797850d..f4ad5b573106bf265846a0193057d8b859395cb4 100644
--- a/source/light/sxlight_dll.cpp
+++ b/source/light/sxlight_dll.cpp
@@ -1,11 +1,24 @@
 
 /***********************************************************
-Copyright � Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
+Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
 See the license in LICENSE
 ***********************************************************/
 
 #include <windows.h>
 
+//! @todo remove this references
+#if defined(_DEBUG)
+#pragma comment(lib, "sxgcore_d.lib")
+#else
+#pragma comment(lib, "sxgcore.lib")
+#endif
+
+#if defined(_DEBUG)
+#pragma comment(lib, "sxphysics_d.lib")
+#else
+#pragma comment(lib, "sxphysics.lib")
+#endif
+
 BOOL APIENTRY DllMain(HMODULE hModule,
 	DWORD  ul_reason_for_call,
 	LPVOID lpReserved