diff --git a/@ExileServer/addons/exad_vg/$PREFIX$ b/@ExileServer/addons/exad_vg/$PREFIX$
new file mode 100644
index 0000000..a9c6ae5
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/$PREFIX$
@@ -0,0 +1 @@
+exad_vg
\ No newline at end of file
diff --git a/@ExileServer/addons/exad_vg/Functions/fn_VGLoad.sqf b/@ExileServer/addons/exad_vg/Functions/fn_VGLoad.sqf
new file mode 100644
index 0000000..f052709
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/Functions/fn_VGLoad.sqf
@@ -0,0 +1,52 @@
+/*
+ Copyright 2016 Jan Babor
+
+ Licensed 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.
+
+*/
+
+private ["_objVehNetId","_objVeh","_flagNetId","_flag","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
+
+_objId = [_this,0,"",[""]] call BIS_fnc_param;
+_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
+_playerNetId = [_this,2,"",[""]] call BIS_fnc_param;
+_flag = objectFromNetId _flagNetId;
+_requestFrom = owner (objectFromNetId _playerNetId);
+
+_proceed = false;
+_vehList = _flag getVariable ["ExAdVGVeh", []];
+
+{
+ if((format["%1",_x select 0]) isEqualTo _objId)exitWith{
+ _vehList deleteAt _forEachIndex;
+ _proceed = true;
+ }
+}forEach _vehList;
+
+if(!_proceed)exitWith{[_requestFrom, "notificationRequest", ["Whoops", ["They vehicle is not available anymore"]]] call ExileServer_system_network_send_to};
+
+_flag setVariable ["ExAdVGVeh", _vehList, true];
+
+_vehObj = (parseNumber _objId) call ExileServer_object_vehicle_database_load;
+_extDB2Message = ["loadVehFromVG", [parseNumber _objId]] call ExileServer_util_extDB2_createMessage;
+_extDB2Message call ExileServer_system_database_query_fireAndForget;
+
+if(ExAd_VG_SHOW_ADVHINT)then{
+ [["advancedHint", ["VGLoad",[_vehObj getVariable["ExileAccessCode",""]]]], _requestFrom] call ExAdServer_fnc_clientDispatch;
+};
+
+_pos = getPosATL _vehObj;
+_pos set [2, (_pos select 2) + 0.1];
+_vehObj setPosATL _pos;
+
+true
\ No newline at end of file
diff --git a/@ExileServer/addons/exad_vg/Functions/fn_VGStore.sqf b/@ExileServer/addons/exad_vg/Functions/fn_VGStore.sqf
new file mode 100644
index 0000000..dec9d19
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/Functions/fn_VGStore.sqf
@@ -0,0 +1,62 @@
+/*
+ Copyright 2016 Jan Babor
+
+ Licensed 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.
+
+*/
+
+private ["_objVehNetId","_objVeh","_flagNetId","_flag","_owner","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
+
+_objVehNetId = [_this,0,"",[""]] call BIS_fnc_param;
+_objVeh = objectFromNetId _objVehNetId;
+_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
+_flag = objectFromNetId _flagNetId;
+_owner = owner _objVeh;
+if!(_objVeh getVariable ["ExileIsPersistent", false])exitWith{(localize "STR_VG_STORE_NOTPERSISTENT") remoteExec ["hint", _owner]; false};
+
+if!(_objVeh setOwner 2)exitWith{format["Get out of the vehicle before storing it."] remoteExec ["hint", _owner]; false};
+
+if!(isNil "ExAd_VG_CLEAN_ON_STORE")then{
+ if(ExAd_VG_CLEAN_ON_STORE)then{
+ clearBackpackCargoGlobal _objVeh;
+ clearItemCargoGlobal _objVeh;
+ clearMagazineCargoGlobal _objVeh;
+ clearWeaponCargoGlobal _objVeh;
+ }
+};
+
+_objVeh call ExileServer_object_vehicle_database_update;
+
+_objVehId = _objVeh getVariable ["ExileDatabaseID",-1];
+_flagId = _flag getVariable ["ExileDatabaseID", -1];
+
+if(_objVehId > -1 && _flagId > -1)then{
+ _data = [_flagId, _objVehId];
+
+ _extDB2Message = ["loadVehToVG", _data] call ExileServer_util_extDB2_createMessage;
+ _extDB2Message call ExileServer_system_database_query_fireAndForget;
+
+ _objVeh call ExileServer_system_vehicleSaveQueue_removeVehicle;
+ _objVeh call ExileServer_system_simulationMonitor_removeVehicle;
+ deleteVehicle _objVeh;
+
+ _vehList = _flag getVariable ["ExAdVGVeh", []];
+ _vehList pushBack [_objVehId, typeOf _objVeh];
+ _flag setVariable ["ExAdVGVeh", _vehList, true];
+
+ if(ExAd_VG_SHOW_ADVHINT)then{
+ [["advancedHint", ["VGStore",[]]], _owner] call EXOServer_fnc_clientDispatch;
+ };
+};
+
+true
\ No newline at end of file
diff --git a/@ExileServer/addons/exad_vg/Functions/fn_requestVGDetailInfo.sqf b/@ExileServer/addons/exad_vg/Functions/fn_requestVGDetailInfo.sqf
new file mode 100644
index 0000000..9013e33
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/Functions/fn_requestVGDetailInfo.sqf
@@ -0,0 +1,40 @@
+/*
+ fn_requestVGDetailInfo.sqf
+
+ Copyright 2016 Jan Babor
+
+ Licensed 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.
+*/
+
+private ["_objVehNetId","_objVeh","_flagNetId","_flag","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
+
+_objId = [_this,0,"",[""]] call BIS_fnc_param;
+_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
+_streamFriendlyUI = [_this,2,0,[0]] call BIS_fnc_param;
+_playerNetId = [_this,3,"",[""]] call BIS_fnc_param;
+_ctrl = [_this,4,-1,[0]] call BIS_fnc_param;
+_flag = objectFromNetId _flagNetId;
+_requestFrom = owner (objectFromNetId _playerNetId);
+
+/*Check if vehicle is in flag - avoid cheaters fishing for pin codes*/
+
+_data = format ["loadVehicle:%1", _objId] call ExileServer_system_database_query_selectSingle;
+
+_displayName = getText(ConfigFile >> "CfgVehicles" >> (_data select 1) >> "displayName");
+_pinCode = if(_streamFriendlyUI == 0)then{_data select 20}else{"XXXX"};
+
+_text = format["%1
Pin code: %2
",_displayName, _pinCode];
+
+[_text,_ctrl] remoteExec ["ExAd_fnc_loadVGDetailView", _requestFrom];
+
+true
\ No newline at end of file
diff --git a/@ExileServer/addons/exad_vg/PboPrefix.txt b/@ExileServer/addons/exad_vg/PboPrefix.txt
new file mode 100644
index 0000000..a9c6ae5
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/PboPrefix.txt
@@ -0,0 +1 @@
+exad_vg
\ No newline at end of file
diff --git a/@ExileServer/addons/exad_vg/config.cpp b/@ExileServer/addons/exad_vg/config.cpp
new file mode 100644
index 0000000..664493b
--- /dev/null
+++ b/@ExileServer/addons/exad_vg/config.cpp
@@ -0,0 +1,51 @@
+/*
+ config.cpp
+
+ Copyright 2016 Jan Babor
+
+ Licensed 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.
+*/
+
+class CfgPatches {
+ class ExAd_VG {
+ requiredVersion = 0.1;
+ requiredAddons[] = {"ExAd_Core"};
+ };
+};
+
+class CfgFunctions {
+ class ExAdServer {
+ class VG {
+ file = "exad_vg\Functions";
+ class requestVGDetailInfo {};
+ class VGLoad {};
+ class VGStore {};
+ };
+ };
+};
+
+class CfgNetworkMessages
+{
+ class VGStore
+ {
+ parameters[] = {"STRING","STRING","STRING"};
+ };
+ class VGLoad
+ {
+ parameters[] = {"STRING","STRING","STRING"};
+ };
+ class requestVGDetailInfo
+ {
+ parameters[] = {"STRING","STRING","SCALAR","STRING","SCALAR"};
+ };
+};
\ No newline at end of file
diff --git a/@ExileServer/extDB/sql_custom_v2/exile.ini b/@ExileServer/extDB/sql_custom_v2/exile.ini
new file mode 100644
index 0000000..736f74c
--- /dev/null
+++ b/@ExileServer/extDB/sql_custom_v2/exile.ini
@@ -0,0 +1,29 @@
+;1. Find [loadVehicleIdPage] and replace the section with this;
+
+[loadVehicleIdPage]
+;SQL1_1 = SELECT id FROM vehicle LIMIT ?,?
+SQL1_1 = SELECT id FROM vehicle WHERE territory_id IS NULL LIMIT ?,?
+Number Of Inputs = 2
+SQL1_INPUTS = 1,2
+OUTPUT = 1
+
+;2. Add all below in the end of the file.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Virtual Garage related queries | ADDED BY [ExAd]Jan
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+[loadTerritoryVehicles]
+SQL1_1 = SELECT id, class FROM vehicle WHERE territory_id = ?
+Number Of Inputs = 1
+SQL1_INPUTS = 1
+OUTPUT = 1,2-STRING
+
+[loadVehFromVG]
+SQL1_1 = UPDATE vehicle SET territory_id = NULL WHERE id = ?
+Number Of Inputs = 1
+SQL1_INPUTS = 1
+
+[loadVehToVG]
+SQL1_1 = UPDATE vehicle SET territory_id = ? WHERE id = ?
+Number Of Inputs = 2
+SQL1_INPUTS = 1,2
\ No newline at end of file
diff --git a/BattlEye/remoteexec.txt b/BattlEye/remoteexec.txt
new file mode 100644
index 0000000..6261ef2
--- /dev/null
+++ b/BattlEye/remoteexec.txt
@@ -0,0 +1,2 @@
+//new
+7 "" !="exadserver_fnc_clientrequest.*"
\ No newline at end of file
diff --git a/docs/VirtualGarage/examples.md b/docs/VirtualGarage/examples.md
new file mode 100644
index 0000000..b5f1edf
--- /dev/null
+++ b/docs/VirtualGarage/examples.md
@@ -0,0 +1 @@
+#Examples
diff --git a/docs/VirtualGarage/installation.md b/docs/VirtualGarage/installation.md
new file mode 100644
index 0000000..1c2f885
--- /dev/null
+++ b/docs/VirtualGarage/installation.md
@@ -0,0 +1,48 @@
+# Installation
+
+Remember for this plugin to work you first need to install
+* [Core](https://github.com/Bjanski/ExAd/blob/Core/docs/core/installation.md)
+* [XM8 Apps Improved](https://github.com/vitalymind/XM8_apps_improved)
+
+## Client
+
+* Place the folder "VirtualGarage" into "mpmissions\exile.