[OLINGO-442] Cleanup
diff --git a/.gitignore b/.gitignore
index 703a43c..59a9f72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,17 @@
-dist
+# ignore local stuff
+_*
+
+# ignore IDE
 .idea
 
+# ignore local config
 localgrunt.config
 
 # testing copies
 ../demo/scripts/odatajs-4.0.0-beta-01*
 
 # build artefacts
-build/
+#build/
 
 # nodejs temporary objects
 node_modules/
diff --git a/Gruntfile.js b/Gruntfile.js
index 74a2a88..56dfeee 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,3 +1,4 @@
+'use strict';
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -36,56 +37,47 @@
       "release" : {
           options: { index : "src/index-browser.js" },
           src: ["src/lib/**/*.js", '!**/*-node.*'], 
-          dest: "build/lib/<%= artifactname %>.js",
+          dest: "_build/lib/<%= artifactname %>.js"
       }
     },
     "uglify": { // uglify and minify the lib
       options: {
         sourceMap : true,
-        sourceMapName : "build/lib/<%= artifactname %>.map",
+        sourceMapName : "_build/lib/<%= artifactname %>.map",
         sourceMapIncludeSources : true,
-        banner : "<%= banner %>",
+        banner : "<%= banner %>"
       },
       "browser": {
-          src: "build/lib/<%= artifactname %>.js",
-          dest: "build/lib/<%= artifactname %>.min.js"
+          src: "_build/lib/<%= artifactname %>.js",
+          dest: "_build/lib/<%= artifactname %>.min.js"
       }
     },
     "jsdoc" : {
       "src" : {
           src: ["src/**/*.js"], 
-          options: { destination: "build/doc-src", verbose : false }
+          options: { destination: "_build/doc-src", verbose : false }
       },
       "test" : {
           src: ["tests/**/*.js"], 
-          options: { destination: "build/doc-test", verbose : false }
+          options: { destination: "_build/doc-test", verbose : false }
       }
     },
     "nugetpack" : { // create nuget pagckage
       "dist": {
           src: 'grunt-config/nugetpack.nuspec',
-          dest: 'build/'
+          dest: '_build/'
       }
     },
     "copy" : {
       "to-latest" : {
-          src :"build/lib/<%= artifactname %>.js",
-          dest: "build/lib/odatajs-latest.js"
+          src :"_build/lib/<%= artifactname %>.js",
+          dest: "_build/lib/odatajs-latest.js"
       }
     },
-    "npm-clean": {
+    "priv-clean": {
       options: {force: true},
       "build": {
-          src: [ "build"]
-      },
-    },
-    "curl": {
-      "license": {
-          src: {
-            url: "http://apache.org/licenses/LICENSE-2.0.txt",
-            proxy: "http://proxy:8080"
-          },
-          dest: "LICENSE"
+          src: [ "_build/*"]
       }
     }
   };
@@ -108,48 +100,40 @@
   grunt.loadNpmTasks("grunt-jsdoc");
   grunt.loadNpmTasks("grunt-nuget");
 
-  //    Load the custom-* tasks from the grunt-config directory
-  grunt.loadTasks('grunt-config/custom-tasks');
+  //    Load the custom-* tasks from the grunt-config/custom-tasks directory
+  grunt.loadTasks('grunt-config/custom-tasks'); //currently rat.js/sign.js/toBrowser.js
 
-  //    Load the custom-* tasks from the grunt-config directory
-  grunt.loadTasks('grunt-config');
+  //    Load the custom-* config from the grunt-config directory
+  grunt.loadTasks('grunt-config'); //rat.js/sign.js/toBrowser.js
 
-  //    rename some tasks to avoid name clashes with the user tasks
-  grunt.renameTask('clean','npm-clean');
-  
+  //    Rename some tasks to avoid name clashes with the user tasks
+  grunt.renameTask('clean','priv-clean'); //rat-config.js/sign-config.js/release-config.js
+
+  //    Avoid problems with apache-rat tool
   grunt.registerTask('clearEnv', 'clear JAVA_TOOL_OPTIONS', function() {
     process.env['JAVA_TOOL_OPTIONS'] = ''; 
   });
 
+
   //    E N D U S E R   T A S K S 
 
-  grunt.registerTask('clean', ['npm-clean:build']);
+  grunt.registerTask('clean', ['priv-clean:build']);
 
-  //    Runs the license header check to verify the any source file contains a license header
-  grunt.registerTask('license-check', ['rat:manual']);
+  //    BUILD the odatajs library
+  grunt.registerTask('build', ['clean:build','toBrowser:release', 'uglify:browser', 'copy:to-latest', 'nugetpack']);
 
-  //    Create documentation in /build/doc
+  //    Create DOCumentation in /_build/doc
   grunt.registerTask('doc', ['clearEnv', 'jsdoc:src']);
   grunt.registerTask('doc-test', ['clearEnv', 'jsdoc:test']);
-  
-  //grunt.registerTask('test-browser', ['configureProxies:test-browser', 'connect:test-browser']);
-  //grunt.registerTask('test-node', ['node-qunit:default-tests']);
-  //grunt.registerTask('release', ['build','doc','compress']);
-  //grunt.registerTask('update-legal', ['curl:license']);
 
-  //    Build the odatajs library
-  grunt.registerTask('build', ['clean:lib','toBrowser:release', 'uglify:browser', 'copy:to-latest', 'nugetpack']);
-
-  grunt.registerTask('get-licence', ['curl:license']);
-
-  //    R E L E A S E    T A S K S 
+  //    R E L E A S E    T A S K S ( tasts defined in release-config.js)
   grunt.registerTask('release',[
-    'npm-clean:release-dist',
+    'priv-clean:release-dist',
     'build',
     'doc',
     'copy:release-lib','copy:release-doc','copy:release-sources',
-    'rat:dist', // check the license headers
-    'compress:release-lib','compress:release-doc','compress:release-sources',
+    /*'rat:dist', // check the license headers
+    'compress:release-lib','compress:release-doc','compress:release-sources',*/
   ]);
 
   
@@ -157,5 +141,8 @@
     'sign:release','sign:asc','sign:asc-verify'
   ]);
 
+  //    Runs the license header check to verify the any source file contains a license header
+  grunt.registerTask('license-check', ['rat:manual']);
+
 };
 
diff --git a/JSLib.csproj b/JSLib.csproj
deleted file mode 100644
index 847691f..0000000
--- a/JSLib.csproj
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */-->
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>
-    </ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}</ProjectGuid>
-    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>JSLib</RootNamespace>
-    <AssemblyName>JSLib</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <SccProjectName>SAK</SccProjectName>
-    <SccLocalPath>SAK</SccLocalPath>
-    <SccAuxPath>SAK</SccAuxPath>
-    <SccProvider>SAK</SccProvider>
-    <UseIISExpress>false</UseIISExpress>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Content Include="src\index.js" />
-    <Content Include="src\banner.txt" />
-    <Content Include="src\lib\cache.js" />
-    <Content Include="src\lib\odatajs.js" />
-    <Content Include="src\lib\odata.js" />
-    <Content Include="src\lib\store.js" />
-    <Content Include="src\lib\cache\source.js" />
-    <Content Include="src\lib\odatajs\deferred.js" />
-    <Content Include="src\lib\odatajs\utils.js" />
-    <Content Include="src\lib\odatajs\xml.js" />
-    <Content Include="src\lib\odata\batch.js" />
-    <Content Include="src\lib\odata\handler.js" />
-    <Content Include="src\lib\odata\json.js" />
-    <Content Include="src\lib\odata\metadata.js" />
-    <Content Include="src\lib\odata\net.js" />
-    <Content Include="src\lib\odata\utils.js" />
-    <Content Include="src\lib\store\dom.js" />
-    <Content Include="src\lib\store\indexeddb.js" />
-    <Content Include="src\lib\store\memory.js" />
-    <Content Include="tests\cache-tests.js" />
-    <Content Include="tests\common\CacheVerifier.js" />
-    <Content Include="tests\common\common.js" />
-    <Content Include="tests\common\Instrument.svc" />
-    <Content Include="tests\common\Instrument.js" />
-    <Content Include="tests\common\mockXMLHttpRequest.js" />
-    <Content Include="tests\common\mockHttpClient.js" />
-    <Content Include="tests\common\djstest.js" />
-    <Content Include="tests\common\gpo-ie8-tour-disable.reg" />
-    <Content Include="tests\common\ObservableHttpClient.js" />
-    <Content Include="tests\common\ODataVerifyReader.js" />
-    <Content Include="tests\common\ODataVerifyReader.svc" />
-    <Content Include="tests\common\rx.js" />
-    <Content Include="tests\common\TestLogger.svc" />
-    <Content Include="tests\common\TestSynchronizerClient.js" />
-    <Content Include="tests\e2etest\Test.html" />
-    <Content Include="tests\odata-json-light-tests.js" />
-    <Content Include="tests\odatajs-startup-perf-test.html" />
-    <Content Include="tests\endpoints\BasicAuthDataService.svc" />
-    <Content Include="tests\endpoints\FoodStoreDataServiceV4.svc" />
-    <Content Include="tests\endpoints\CustomAnnotations.xml" />
-    <Content Include="tests\endpoints\CustomDataService.svc" />
-    <Content Include="tests\endpoints\EpmDataService.svc" />
-    <Content Include="tests\endpoints\ErrorDataService.svc" />
-    <Content Include="tests\endpoints\LargeCollectionService.svc" />
-    <Content Include="tests\endpoints\web.config" />
-    <Content Include="tests\odatajs-cache-large-collection-functional-tests.html" />
-    <Content Include="tests\odatajs-cache-large-collection-functional-tests.js" />
-    <Content Include="tests\odatajs-cache-long-haul-tests.html" />
-    <Content Include="tests\odata-batch-functional-tests.html" />
-    <Content Include="tests\odata-batch-functional-tests.js" />
-    <Content Include="tests\odata-batch-tests.js" />
-    <Content Include="tests\odata-cache-filter-functional-tests.html" />
-    <Content Include="tests\odata-cache-filter-functional-tests.js" />
-    <Content Include="tests\odata-cache-fperf-tests.html" />
-    <Content Include="tests\odata-cache-fperf-tests.js" />
-    <Content Include="tests\odata-cache-functional-tests.html" />
-    <Content Include="tests\odata-cache-functional-tests.js" />
-    <Content Include="tests\odata-cache-rx-functional-tests.html" />
-    <Content Include="tests\odata-cache-rx-functional-tests.js" />
-    <Content Include="tests\odata-fuzz.html" />
-    <Content Include="tests\odata-metadata-tests.js" />
-    <Content Include="tests\odata-handler-tests.js" />
-    <Content Include="tests\odata-json-tests.js" />
-    <Content Include="tests\odata-links-functional-tests.html" />
-    <Content Include="tests\odata-links-functional-tests.js" />
-    <Content Include="tests\odata-metadata-awareness-functional-tests.html" />
-    <Content Include="tests\odata-metadata-awareness-functional-tests.js" />
-    <Content Include="tests\odata-net-tests.js" />
-    <Content Include="tests\odata-perf-tests.html" />
-    <Content Include="tests\odata-perf-tests.js" />
-    <Content Include="tests\odata-read-crossdomain-functional-tests.html" />
-    <Content Include="tests\odata-read-crossdomain-functional-tests.js" />
-    <Content Include="tests\odata-read-functional-tests.html" />
-    <Content Include="tests\odata-request-functional-tests.html" />
-    <Content Include="tests\odata-request-functional-tests.js" />
-    <Content Include="tests\odata-read-functional-tests.js" />
-    <Content Include="tests\odata-qunit-tests.htm" />
-    <Content Include="tests\odata-tests.js" />
-    <Content Include="tests\odata-xml-tests.js" />
-    <Content Include="tests\run-tests.wsf" />
-    <Content Include="tests\store-indexeddb-tests.js" />
-    <Content Include="tests\store-tests.js" />
-    <Content Include="tests\test-list.js" />
-    <Content Include="tests\test-manager.html" />
-    <!-- Configuration file for the web project. -->
-    <Content Include="Web.config">
-      <SubType>Designer</SubType>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="tests\code\CsdlReader.cs" />
-    <Compile Include="tests\code\JsDate.cs" />
-    <Compile Include="tests\code\JsonObject.cs" />
-    <Compile Include="tests\code\ReaderUtils.cs" />
-    <Compile Include="tests\code\ReflectionDataContext.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="packages.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.OData.Client, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\Microsoft.OData.Client.6.5.0\lib\net40\Microsoft.OData.Client.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.OData.Core, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\Microsoft.OData.Core.6.5.0\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.OData.Core.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.OData.Edm, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\Microsoft.OData.Edm.6.5.0\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.OData.Edm.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.OData.Service, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\Microsoft.OData.Service.6.5.0\lib\net40\Microsoft.OData.Service.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Spatial, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\Microsoft.Spatial.6.5.0\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.Spatial.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Net" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.ServiceModel" />
-    <Reference Include="System.ServiceModel.Activation" />
-    <Reference Include="System.ServiceModel.Web" />
-    <Reference Include="System.Web.Extensions" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Xml.Linq" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
-  <ProjectExtensions>
-    <VisualStudio>
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
-        <WebProjectProperties>
-          <UseIIS>False</UseIIS>
-          <AutoAssignPort>True</AutoAssignPort>
-          <DevelopmentServerPort>4002</DevelopmentServerPort>
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>
-          <IISUrl>
-          </IISUrl>
-          <NTLMAuthentication>False</NTLMAuthentication>
-          <UseCustomServer>False</UseCustomServer>
-          <CustomServerUrl>
-          </CustomServerUrl>
-          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
-        </WebProjectProperties>
-      </FlavorProperties>
-    </VisualStudio>
-  </ProjectExtensions>
-</Project>
\ No newline at end of file
diff --git a/JSLib.sln b/JSLib.sln
deleted file mode 100644
index 61927d4..0000000
--- a/JSLib.sln
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JSLib", "JSLib.csproj", "{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{73ADF1A7-613B-4679-885B-2AE4AFAA9A6A}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/JSLib/JSLib.sln b/JSLib/JSLib.sln
index b87a0df..d265e52 100644
--- a/JSLib/JSLib.sln
+++ b/JSLib/JSLib.sln
@@ -17,4 +17,4 @@
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-EndGlobal
\ No newline at end of file
+EndGlobal
diff --git a/Web.config b/Web.config
deleted file mode 100644
index 5441da1..0000000
--- a/Web.config
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */-->
-<configuration>
-  <system.web>
-    <compilation debug="true" targetFramework="4.0">
-      <assemblies>
-        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-        <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-        <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
-        <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-        <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-        <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
-        <add assembly="Microsoft.OData.Core, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
-        <add assembly="Microsoft.OData.Service, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
-        <add assembly="Microsoft.OData.Client, Version=6.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
-      </assemblies>
-    </compilation>
-  </system.web>
-  <system.webServer>
-    <directoryBrowse enabled="true" />
-  </system.webServer>
-  <system.codedom>
-    <compilers>
-      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-        <providerOption name="CompilerVersion" value="v4.0" />
-      </compiler>
-    </compilers>
-  </system.codedom>
-  <system.net>
-    <defaultProxy>
-      <proxy autoDetect="True" />
-    </defaultProxy>
-  </system.net>
-</configuration>
\ No newline at end of file
diff --git a/grunt-config/nugetpack.nuspec b/grunt-config/nugetpack.nuspec
index 10129b4..120cd7d 100644
--- a/grunt-config/nugetpack.nuspec
+++ b/grunt-config/nugetpack.nuspec
@@ -22,6 +22,6 @@
     <file src="..\LICENS*E" target="odatajs\" />
     <file src="..\NOTIC*E" target="odatajs\" />
     <file src="..\DEPENDENCIE*S" target="odatajs\" />
-    <file src="..\build\lib\*" target="odatajs\" />
+    <file src="..\_build\lib\*" target="odatajs\" />
   </files>
 </package>
diff --git a/grunt-config/rat.js b/grunt-config/rat-config.js
similarity index 76%
rename from grunt-config/rat.js
rename to grunt-config/rat-config.js
index 30e31d3..0de3933 100644
--- a/grunt-config/rat.js
+++ b/grunt-config/rat-config.js
@@ -1,3 +1,4 @@
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -29,9 +30,9 @@
           "JSLib.sln","package.json", "mocha.opts"
         ] },
       files: [
-        /*{ src: ['./../dist/<%= artifactname %>/doc'], options:{ tag:"dist-doc"}},generated*/
-        /*{ src: ['./../dist/<%= artifactname %>/lib'], options:{ tag:"dist-lib"}},very slow*/
-        { src: ['./../dist/<%= artifactname %>/sources'], options:{ tag:"dist-src"}},
+        /*{ src: ['./../_dist/<%= artifactname %>/doc'], options:{ tag:"dist-doc"}},generated*/
+        /*{ src: ['./../_dist/<%= artifactname %>/lib'], options:{ tag:"dist-lib"}},very slow*/
+        { src: ['./../_dist/<%= artifactname %>/sources'], options:{ tag:"dist-src"}},
       ]
     },
     "manual-dist":  { 
@@ -43,9 +44,9 @@
           "JSLib.sln","package.json", "mocha.opts"
         ] },
       files: [
-        /*{ src: ['./../dist/<%= artifactname %>/doc'], options:{ tag:"dist-doc"}},generated*/
-        /*{ src: ['./../dist/<%= artifactname %>/lib'], options:{ tag:"dist-lib"}},very slow*/
-        { src: ['./../dist/<%= artifactname %>/sources'], options:{ tag:"dist-src"}},
+        /*{ src: ['./../_dist/<%= artifactname %>/doc'], options:{ tag:"dist-doc"}},generated*/
+        /*{ src: ['./../_dist/<%= artifactname %>/lib'], options:{ tag:"dist-lib"}},very slow*/
+        { src: ['./../_dist/<%= artifactname %>/sources'], options:{ tag:"dist-src"}},
       ]
     },
     manual:  {  // with txt output
@@ -58,7 +59,7 @@
         { src: ['./demo'], options:{ tag:"demo"}},
         { src: ['./grunt-config'], options:{ tag:"grunt-config" }}
       ]
-    },
+    }
   });
 
   
diff --git a/grunt-config/release-config.js b/grunt-config/release-config.js
new file mode 100644
index 0000000..8f1de84
--- /dev/null
+++ b/grunt-config/release-config.js
@@ -0,0 +1,190 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+module.exports = function(grunt) {
+
+  function endsWith(hay, needle) {
+    return hay.indexOf(needle, hay.length - needle.length) !== -1;
+  }
+
+  function startsWith(hay, needle) {
+    return hay.indexOf(needle) === 0;
+  }
+
+  function contains(hay, needle) {
+    return hay.indexOf(needle) > -1;
+  }
+
+   
+
+  // clean
+  grunt.config.merge( { 
+    'priv-clean': {
+      'release-dist': {
+        options: { force: true },
+        src: [ "./_dist/<%= artifactname %>*"]
+      }
+    }
+  });
+
+  grunt.loadNpmTasks("grunt-contrib-clean");
+
+  // doc
+  grunt.config.merge( { 
+    'jsdoc' : { // generate documentation
+      "release-doc-src" : {
+        src: ['src/**/*.js'], 
+        options: {
+          destination: './_dist/<%= artifactname %>/doc',
+          verbose : false 
+        }
+      },
+    },
+  });
+
+  // copy
+  grunt.config.merge( { 
+    "copy" : {
+      "release-lib" : {
+        files: [
+          { expand: true, cwd: '_build/lib', src: ['<%= artifactname %>*.*'], dest: './_dist/<%= artifactname %>/lib/lib', filter: 'isFile'},
+          { expand: true, src :'LICENSE',dest: './_dist/<%= artifactname %>/lib', filter: 'isFile' },
+          { expand: true, src :'NOTICE',dest: './_dist/<%= artifactname %>/lib', filter: 'isFile' },
+          { expand: true, src :'DEPENDENCIES',dest: './_dist/<%= artifactname %>/lib', filter: 'isFile' },
+          { expand: true, src :'README.md',dest: './_dist/<%= artifactname %>/lib', filter: 'isFile' }
+        ]
+      },
+      "release-nuget": {
+          files: [
+              { expand: true, cwd: '_build', src: ['odatajs.4.0.0-beta01.nupkg'], dest: './_dist/<%= artifactname %>', filter: 'isFile' },
+          ]
+      },
+      "release-doc" : {
+        files: [
+            { expand: true, cwd: '_build/doc-src', src: ['**'], dest: './_dist/<%= artifactname %>/doc/doc', filter: 'isFile'},
+            { expand: true, src :'LICENSE',dest: './_dist/<%= artifactname %>/doc', filter: 'isFile' },
+            { expand: true, src :'NOTICE',dest: './_dist/<%= artifactname %>/doc', filter: 'isFile' },
+            { expand: true, src :'DEPENDENCIES',dest: './_dist/<%= artifactname %>/doc', filter: 'isFile' },
+            { expand: true, src :'README.md',dest: './_dist/<%= artifactname %>/doc', filter: 'isFile' }
+          ]
+      },
+      "release-sources" : {
+        files: [
+            { expand: true, src :'LICENSE',dest: './_dist/<%= artifactname %>/sources', filter: 'isFile' },
+            { expand: true, src :'NOTICE',dest: './_dist/<%= artifactname %>/sources', filter: 'isFile' },
+            { expand: true, src :'DEPENDENCIES',dest: './_dist/<%= artifactname %>/sources', filter: 'isFile' },
+            { dot: true, expand: true, cwd: './', src: ['**'], dest: './_dist/<%= artifactname %>/sources/odatajs',
+            filter: function(srcPath)  {
+              // no node_modules
+              if (srcPath === 'node_modules' || contains(srcPath, 'node_modules\\')|| contains(srcPath, 'node_modules/')) {
+                return false; 
+              }
+              if (srcPath === 'extern-tools' || contains(srcPath, 'extern-tools\\')|| contains(srcPath, 'extern-tools/')) {
+                return false; 
+              }
+
+              if (contains(srcPath, 'demo\\scripts\\datajs-') || 
+                  contains(srcPath, 'demo/scripts/datajs-')) {
+                return false; 
+              }
+              if (contains(srcPath, 'demo\\scripts\\odatajs-') || 
+                  contains(srcPath, 'demo/scripts/odatajs-')) {
+                return false; 
+              }
+
+              // no c# files
+              if (srcPath === 'obj' || contains(srcPath, 'obj')|| contains(srcPath, 'obj')) {
+                return false; 
+              }
+
+              if (srcPath === 'bin' || contains(srcPath, 'bin')|| contains(srcPath, 'bin')) {
+                return false; 
+              }
+
+              if (srcPath === 'packages' || contains(srcPath, 'packages')|| contains(srcPath, 'packages')) {
+                return false; 
+              }
+
+              // no IDE stuff
+              if (srcPath === '.idea' || contains(srcPath, '.idea')|| contains(srcPath, '.idea')) {
+                return false;
+              }
+
+              // no build results
+              if (srcPath === '_build' || contains(srcPath, '_build')|| contains(srcPath, '_build')) {
+                return false; 
+              }
+              if (srcPath === '_dist' || contains(srcPath, '_dist')|| contains(srcPath, '_dist')) {
+                return false;
+              }
+
+              if (srcPath === '.git' || contains(srcPath, '.git')|| contains(srcPath, '.git')) {
+                return false;
+              }
+
+              if (endsWith(srcPath, '.gitignore')) {
+                return false; 
+              }
+              if (endsWith(srcPath, 'localgrunt.config')) {
+                return false; 
+              }
+              if (endsWith(srcPath, 'JSLib.suo')) {
+                return false; 
+              }
+              if (endsWith(srcPath, 'JSLib.csproj.user')) {
+                return false; 
+              }
+              
+              console.log(' + ' + srcPath);
+              return true;
+            }},
+          ]
+      },
+    }
+  });
+
+  grunt.loadNpmTasks("grunt-contrib-copy");
+  
+
+
+
+  // zip
+  grunt.config.merge( { 
+    compress: { // build the zip files for the release 
+      'release-lib': { // just the lib
+        options: {archive: './_dist/<%= artifactname %>/<%= artifactname %>-lib.zip'},
+        files: [{expand: true, cwd: './_dist/<%= artifactname %>/lib', src: ['**'],  dest: '/'}]
+      },
+      'release-doc': { // just the documentation
+        options: {archive: './_dist/<%= artifactname %>/<%= artifactname %>-doc.zip'},
+        files: [{expand: true, cwd: './_dist/<%= artifactname %>/doc', src: ['**'], dest: '/'}]
+      },
+      'release-sources' :  { // the full repository with out the git stuff
+        options: { archive: './_dist/<%= artifactname %>/<%= artifactname %>-sources.zip'},
+        files: [
+          {expand: true, cwd: './_dist/<%= artifactname %>/sources', src: ['**'], dest: '/'},
+        ]
+      }
+    },
+  });
+
+
+  grunt.loadNpmTasks('grunt-contrib-compress');
+ 
+};
+
diff --git a/grunt-config/release.js b/grunt-config/release.js
deleted file mode 100644
index b808224..0000000
--- a/grunt-config/release.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-module.exports = function(grunt) {
-
-  function endsWith(hay, needle) {
-    return hay.indexOf(needle, hay.length - needle.length) !== -1;
-  }
-
-  function startsWith(hay, needle) {
-    return hay.indexOf(needle) === 0;
-  }
-
-  function contains(hay, needle) {
-    return hay.indexOf(needle) > -1;
-  }
-
-   
-
-  // clean
-  grunt.config.merge( { 
-    'npm-clean': {
-      'release-dist': {
-        options: { force: true },
-        src: [ "./../dist/<%= artifactname %>*"]
-      }
-    }
-  });
-
-  grunt.loadNpmTasks("grunt-contrib-clean");
-
-  // doc
-  grunt.config.merge( { 
-    'jsdoc' : { // generate documentation
-      "release-doc-src" : {
-        src: ['src/**/*.js'], 
-        options: {
-          destination: './../dist/<%= artifactname %>/doc',
-          verbose : false 
-        }
-      },
-    },
-  });
-
-  // copy
-  grunt.config.merge( { 
-    "copy" : {
-      "release-lib" : {
-        files: [
-          { expand: true, cwd: 'build/lib', src: ['<%= artifactname %>*.*'], dest: './../dist/<%= artifactname %>/lib/lib', filter: 'isFile'},
-          { expand: true, src :'LICENSE',dest: './../dist/<%= artifactname %>/lib', filter: 'isFile' },
-          { expand: true, src :'NOTICE',dest: './../dist/<%= artifactname %>/lib', filter: 'isFile' },
-          { expand: true, src :'DEPENDENCIES',dest: './../dist/<%= artifactname %>/lib', filter: 'isFile' },
-          { expand: true, src :'README.md',dest: './../dist/<%= artifactname %>/lib', filter: 'isFile' }
-        ]
-      },
-      "release-nuget": {
-          files: [
-              { expand: true, cwd: 'build', src: ['odatajs.4.0.0-beta01.nupkg'], dest: './../dist/<%= artifactname %>', filter: 'isFile' },
-          ]
-      },
-      "release-doc" : {
-        files: [
-            { expand: true, cwd: 'build/doc-src', src: ['**'], dest: './../dist/<%= artifactname %>/doc/doc', filter: 'isFile'},
-            { expand: true, src :'LICENSE',dest: './../dist/<%= artifactname %>/doc', filter: 'isFile' },
-            { expand: true, src :'NOTICE',dest: './../dist/<%= artifactname %>/doc', filter: 'isFile' },
-            { expand: true, src :'DEPENDENCIES',dest: './../dist/<%= artifactname %>/doc', filter: 'isFile' },
-            { expand: true, src :'README.md',dest: './../dist/<%= artifactname %>/doc', filter: 'isFile' }
-          ]
-      },
-      "release-sources" : {
-        files: [
-            { expand: true, src :'LICENSE',dest: './../dist/<%= artifactname %>/sources', filter: 'isFile' },
-            { expand: true, src :'NOTICE',dest: './../dist/<%= artifactname %>/sources', filter: 'isFile' },
-            { expand: true, src :'DEPENDENCIES',dest: './../dist/<%= artifactname %>/sources', filter: 'isFile' },
-            { dot: true, expand: true, cwd: './', src: ['**'], dest: './../dist/<%= artifactname %>/sources/odatajs',
-            filter: function(srcPath)  {
-              // no node_modules
-              if (srcPath === 'node_modules' || contains(srcPath, 'node_modules\\')|| contains(srcPath, 'node_modules/')) {
-                return false; 
-              }
-              if (srcPath === 'extern-tools' || contains(srcPath, 'extern-tools\\')|| contains(srcPath, 'extern-tools/')) {
-                return false; 
-              }
-
-              if (contains(srcPath, 'demo\\scripts\\datajs-') || 
-                  contains(srcPath, 'demo/scripts/datajs-')) {
-                return false; 
-              }
-              if (contains(srcPath, 'demo\\scripts\\odatajs-') || 
-                  contains(srcPath, 'demo/scripts/odatajs-')) {
-                return false; 
-              }
-
-              // no c# files
-              if (srcPath === 'obj' || contains(srcPath, 'obj')|| contains(srcPath, 'obj')) {
-                return false; 
-              }
-
-              if (srcPath === 'bin' || contains(srcPath, 'bin')|| contains(srcPath, 'bin')) {
-                return false; 
-              }
-
-              if (srcPath === 'packages' || contains(srcPath, 'packages')|| contains(srcPath, 'packages')) {
-                return false; 
-              }
-
-              // no build retults
-              if (srcPath === 'build' || contains(srcPath, 'build')|| contains(srcPath, 'build')) {
-                return false; 
-              }
-
-              if (endsWith(srcPath, '.gitignore')) {
-                return false; 
-              }
-              if (endsWith(srcPath, 'localgrunt.config')) {
-                return false; 
-              }
-              if (endsWith(srcPath, 'JSLib.suo')) {
-                return false; 
-              }
-              if (endsWith(srcPath, 'JSLib.csproj.user')) {
-                return false; 
-              }
-              
-              console.log(' + ' + srcPath);
-              return true;
-            }},
-          ]
-      },
-    }
-  });
-
-  grunt.loadNpmTasks("grunt-contrib-copy");
-  
-
-
-
-  // zip
-  grunt.config.merge( { 
-    compress: { // build the zip files for the release 
-      'release-lib': { // just the lib
-        options: {archive: './../dist/<%= artifactname %>/<%= artifactname %>-lib.zip'},
-        files: [{expand: true, cwd: './../dist/<%= artifactname %>/lib', src: ['**'],  dest: '/'}]
-      },
-      'release-doc': { // just the documentation
-        options: {archive: './../dist/<%= artifactname %>/<%= artifactname %>-doc.zip'},
-        files: [{expand: true, cwd: './../dist/<%= artifactname %>/doc', src: ['**'], dest: '/'}]
-      },
-      'release-sources' :  { // the full repository with out the git stuff
-        options: { archive: './../dist/<%= artifactname %>/<%= artifactname %>-sources.zip'},
-        files: [
-          {expand: true, cwd: './../dist/<%= artifactname %>/sources', src: ['**'], dest: '/'},
-        ]
-      }
-    },
-  });
-
-
-  grunt.loadNpmTasks('grunt-contrib-compress');
- 
-};
-
diff --git a/grunt-config/sign.js b/grunt-config/sign-config.js
similarity index 100%
rename from grunt-config/sign.js
rename to grunt-config/sign-config.js
diff --git a/olingojs-4.0.0-beta-01.exports.json b/olingojs-4.0.0-beta-01.exports.json
deleted file mode 100644
index 0f9471a..0000000
--- a/olingojs-4.0.0-beta-01.exports.json
+++ /dev/null
@@ -1,917 +0,0 @@
-{
-  "version": {
-    "major": 1,
-    "minor": 1,
-    "build": 1
-  },
-  "deferred": {},
-  "utils": {},
-  "xml": {
-    "http": "http://",
-    "w3org": "http://www.w3.org/",
-    "xmlNS": "http://www.w3.org/XML/1998/namespace",
-    "xmlnsNS": "http://www.w3.org/2000/xmlns/"
-  },
-  "oData": {
-    "utils": {
-      "EDM_BINARY": "Edm.Binary",
-      "EDM_BOOLEAN": "Edm.Boolean",
-      "EDM_BYTE": "Edm.Byte",
-      "EDM_DATE": "Edm.Date",
-      "EDM_DATETIMEOFFSET": "Edm.DateTimeOffset",
-      "EDM_DURATION": "Edm.Duration",
-      "EDM_DECIMAL": "Edm.Decimal",
-      "EDM_DOUBLE": "Edm.Double",
-      "EDM_GEOGRAPHY": "Edm.Geography",
-      "EDM_GEOGRAPHY_POINT": "Edm.GeographyPoint",
-      "EDM_GEOGRAPHY_LINESTRING": "Edm.GeographyLineString",
-      "EDM_GEOGRAPHY_POLYGON": "Edm.GeographyPolygon",
-      "EDM_GEOGRAPHY_COLLECTION": "Edm.GeographyCollection",
-      "EDM_GEOGRAPHY_MULTIPOLYGON": "Edm.GeographyMultiPolygon",
-      "EDM_GEOGRAPHY_MULTILINESTRING": "Edm.GeographyMultiLineString",
-      "EDM_GEOGRAPHY_MULTIPOINT": "Edm.GeographyMultiPoint",
-      "EDM_GEOMETRY": "Edm.Geometry",
-      "EDM_GEOMETRY_POINT": "Edm.GeometryPoint",
-      "EDM_GEOMETRY_LINESTRING": "Edm.GeometryLineString",
-      "EDM_GEOMETRY_POLYGON": "Edm.GeometryPolygon",
-      "EDM_GEOMETRY_COLLECTION": "Edm.GeometryCollection",
-      "EDM_GEOMETRY_MULTIPOLYGON": "Edm.GeometryMultiPolygon",
-      "EDM_GEOMETRY_MULTILINESTRING": "Edm.GeometryMultiLineString",
-      "EDM_GEOMETRY_MULTIPOINT": "Edm.GeometryMultiPoint",
-      "EDM_GUID": "Edm.Guid",
-      "EDM_INT16": "Edm.Int16",
-      "EDM_INT32": "Edm.Int32",
-      "EDM_INT64": "Edm.Int64",
-      "EDM_SBYTE": "Edm.SByte",
-      "EDM_SINGLE": "Edm.Single",
-      "EDM_STRING": "Edm.String",
-      "EDM_TIMEOFDAY": "Edm.Time",
-      "GEOJSON_POINT": "Point",
-      "GEOJSON_LINESTRING": "LineString",
-      "GEOJSON_POLYGON": "Polygon",
-      "GEOJSON_MULTIPOINT": "MultiPoint",
-      "GEOJSON_MULTILINESTRING": "MultiLineString",
-      "GEOJSON_MULTIPOLYGON": "MultiPolygon",
-      "GEOJSON_GEOMETRYCOLLECTION": "GeometryCollection"
-    },
-    "handler": {
-      "textHandler": {
-        "accept": "text/plain",
-        "maxDataServiceVersion": "4.0"
-      },
-      "MAX_DATA_SERVICE_VERSION": "4.0"
-    },
-    "metadata": {
-      "metadataHandler": {
-        "accept": "application/xml",
-        "maxDataServiceVersion": "4.0"
-      },
-      "schema": {
-        "elements": {
-          "Action": {
-            "attributes": [
-              "Name",
-              "IsBound",
-              "EntitySetPath"
-            ],
-            "elements": [
-              "ReturnType",
-              "Parameter*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "ActionImport": {
-            "attributes": [
-              "Name",
-              "Action",
-              "EntitySet",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Annotation": {
-            "attributes": [
-              "Term",
-              "Qualifier",
-              "Binary",
-              "Bool",
-              "Date",
-              "DateTimeOffset",
-              "Decimal",
-              "Duration",
-              "EnumMember",
-              "Float",
-              "Guid",
-              "Int",
-              "String",
-              "TimeOfDay",
-              "AnnotationPath",
-              "NavigationPropertyPath",
-              "Path",
-              "PropertyPath",
-              "UrlRef"
-            ],
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "AnnotationPath": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Annotations": {
-            "attributes": [
-              "Target",
-              "Qualifier"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Apply": {
-            "attributes": [
-              "Function"
-            ],
-            "elements": [
-              "String*",
-              "Path*",
-              "LabeledElement*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "And": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Or": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Not": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Eq": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Ne": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Gt": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Ge": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Lt": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Le": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Binary": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Bool": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Cast": {
-            "attributes": [
-              "Type"
-            ],
-            "elements": [
-              "Path*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Collection": {
-            "attributes": null,
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*"
-            ],
-            "text": false
-          },
-          "ComplexType": {
-            "attributes": [
-              "Name",
-              "BaseType",
-              "Abstract",
-              "OpenType"
-            ],
-            "elements": [
-              "Property*",
-              "NavigationProperty*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Date": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "DateTimeOffset": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Decimal": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Duration": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "EntityContainer": {
-            "attributes": [
-              "Name",
-              "Extends"
-            ],
-            "elements": [
-              "EntitySet*",
-              "Singleton*",
-              "ActionImport*",
-              "FunctionImport*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "EntitySet": {
-            "attributes": [
-              "Name",
-              "EntityType",
-              "IncludeInServiceDocument"
-            ],
-            "elements": [
-              "NavigationPropertyBinding*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "EntityType": {
-            "attributes": [
-              "Name",
-              "BaseType",
-              "Abstract",
-              "OpenType",
-              "HasStream"
-            ],
-            "elements": [
-              "Key*",
-              "Property*",
-              "NavigationProperty*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "EnumMember": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "EnumType": {
-            "attributes": [
-              "Name",
-              "UnderlyingType",
-              "IsFlags"
-            ],
-            "elements": [
-              "Member*"
-            ],
-            "text": false
-          },
-          "Float": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Function": {
-            "attributes": [
-              "Name",
-              "IsBound",
-              "IsComposable",
-              "EntitySetPath"
-            ],
-            "elements": [
-              "ReturnType",
-              "Parameter*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "FunctionImport": {
-            "attributes": [
-              "Name",
-              "Function",
-              "EntitySet",
-              "IncludeInServiceDocument",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Guid": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "If": {
-            "attributes": null,
-            "elements": [
-              "Path*",
-              "String*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Int": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "IsOf": {
-            "attributes": [
-              "Type",
-              "MaxLength",
-              "Precision",
-              "Scale",
-              "Unicode",
-              "SRID",
-              "DefaultValue",
-              "Annotation*"
-            ],
-            "elements": [
-              "Path*"
-            ],
-            "text": false
-          },
-          "Key": {
-            "attributes": null,
-            "elements": [
-              "PropertyRef*"
-            ],
-            "text": false
-          },
-          "LabeledElement": {
-            "attributes": [
-              "Name"
-            ],
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "LabeledElementReference": {
-            "attributes": [
-              "Term"
-            ],
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*"
-            ],
-            "text": false
-          },
-          "Member": {
-            "attributes": [
-              "Name",
-              "Value"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "NavigationProperty": {
-            "attributes": [
-              "Name",
-              "Type",
-              "Nullable",
-              "Partner",
-              "ContainsTarget"
-            ],
-            "elements": [
-              "ReferentialConstraint*",
-              "OnDelete*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "NavigationPropertyBinding": {
-            "attributes": [
-              "Path",
-              "Target"
-            ],
-            "text": false
-          },
-          "NavigationPropertyPath": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Null": {
-            "attributes": null,
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "OnDelete": {
-            "attributes": [
-              "Action"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Path": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Parameter": {
-            "attributes": [
-              "Name",
-              "Type",
-              "Nullable",
-              "MaxLength",
-              "Precision",
-              "Scale",
-              "SRID"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Property": {
-            "attributes": [
-              "Name",
-              "Type",
-              "Nullable",
-              "MaxLength",
-              "Precision",
-              "Scale",
-              "Unicode",
-              "SRID",
-              "DefaultValue"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "PropertyPath": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "PropertyRef": {
-            "attributes": [
-              "Name",
-              "Alias"
-            ],
-            "text": false
-          },
-          "PropertyValue": {
-            "attributes": [
-              "Property",
-              "Path"
-            ],
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Record": {
-            "attributes": null,
-            "elements": [
-              "PropertyValue*",
-              "Property*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "ReferentialConstraint": {
-            "attributes": [
-              "Property",
-              "ReferencedProperty",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "ReturnType": {
-            "attributes": [
-              "Type",
-              "Nullable",
-              "MaxLength",
-              "Precision",
-              "Scale",
-              "SRID"
-            ],
-            "text": false
-          },
-          "String": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "Schema": {
-            "attributes": [
-              "Namespace",
-              "Alias"
-            ],
-            "elements": [
-              "Action*",
-              "Annotations*",
-              "Annotation*",
-              "ComplexType*",
-              "EntityContainer",
-              "EntityType*",
-              "EnumType*",
-              "Function*",
-              "Term*",
-              "TypeDefinition*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Singleton": {
-            "attributes": [
-              "Name",
-              "Type"
-            ],
-            "elements": [
-              "NavigationPropertyBinding*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Term": {
-            "attributes": [
-              "Name",
-              "Type",
-              "BaseTerm",
-              "DefaultValue ",
-              "AppliesTo",
-              "Nullable",
-              "MaxLength",
-              "Precision",
-              "Scale",
-              "SRID"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "TimeOfDay": {
-            "attributes": null,
-            "elements": null,
-            "text": true
-          },
-          "TypeDefinition": {
-            "attributes": [
-              "Name",
-              "UnderlyingType",
-              "MaxLength",
-              "Unicode",
-              "Precision",
-              "Scale",
-              "SRID"
-            ],
-            "elements": [
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "UrlRef": {
-            "attributes": null,
-            "elements": [
-              "Binary*",
-              "Bool*",
-              "Date*",
-              "DateTimeOffset*",
-              "Decimal*",
-              "Duration*",
-              "EnumMember*",
-              "Float*",
-              "Guid*",
-              "Int*",
-              "String*",
-              "TimeOfDay*",
-              "And*",
-              "Or*",
-              "Not*",
-              "Eq*",
-              "Ne*",
-              "Gt*",
-              "Ge*",
-              "Lt*",
-              "Le*",
-              "AnnotationPath*",
-              "Apply*",
-              "Cast*",
-              "Collection*",
-              "If*",
-              "IsOf*",
-              "LabeledElement*",
-              "LabeledElementReference*",
-              "Null*",
-              "NavigationPropertyPath*",
-              "Path*",
-              "PropertyPath*",
-              "Record*",
-              "UrlRef*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Edmx": {
-            "attributes": [
-              "Version"
-            ],
-            "elements": [
-              "DataServices",
-              "Reference*"
-            ],
-            "text": false,
-            "ns": "http://docs.oasis-open.org/odata/ns/edmx"
-          },
-          "DataServices": {
-            "attributes": [
-              "m:MaxDataServiceVersion",
-              "m:DataServiceVersion"
-            ],
-            "elements": [
-              "Schema*"
-            ],
-            "text": false,
-            "ns": "http://docs.oasis-open.org/odata/ns/edmx"
-          },
-          "Reference": {
-            "attributes": [
-              "Uri"
-            ],
-            "elements": [
-              "Include*",
-              "IncludeAnnotations*",
-              "Annotation*"
-            ],
-            "text": false
-          },
-          "Include": {
-            "attributes": [
-              "Namespace",
-              "Alias"
-            ],
-            "text": false
-          },
-          "IncludeAnnotations": {
-            "attributes": [
-              "TermNamespace",
-              "Qualifier",
-              "TargetNamespace"
-            ],
-            "text": false
-          }
-        }
-      }
-    },
-    "net": {
-      "defaultHttpClient": {
-        "callbackParameterName": "$callback",
-        "formatQueryString": "$format=json",
-        "enableJsonpCallback": false
-      }
-    },
-    "json": {
-      "jsonHandler": {
-        "accept": "application/json",
-        "recognizeDates": false
-      }
-    },
-    "batch": {
-      "batchHandler": {
-        "accept": "multipart/mixed",
-        "maxDataServiceVersion": "4.0",
-        "partHandler": {
-          "maxDataServiceVersion": "4.0",
-          "accept": "application/json;q=0.9, */*;q=0.1"
-        }
-      }
-    },
-    "defaultHandler": {
-      "maxDataServiceVersion": "4.0",
-      "accept": "application/json;q=0.9, */*;q=0.1"
-    },
-    "defaultMetadata": [],
-    "metadataHandler": {
-      "accept": "application/xml",
-      "maxDataServiceVersion": "4.0"
-    }
-  },
-  "store": {
-    "defaultStoreMechanism": "best"
-  },
-  "cache": {}
-}
\ No newline at end of file
diff --git a/packages.config b/packages.config
deleted file mode 100644
index 9e7480b..0000000
--- a/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Microsoft.OData.Client" version="6.5.0" targetFramework="net40" />
-  <package id="Microsoft.OData.Core" version="6.5.0" targetFramework="net40" />
-  <package id="Microsoft.OData.Edm" version="6.5.0" targetFramework="net40" />
-  <package id="Microsoft.Spatial" version="6.5.0" targetFramework="net40" />
-</packages>
\ No newline at end of file