diff --git a/apps/files_sharing/api/ocssharewrapper.php b/apps/files_sharing/api/ocssharewrapper.php
new file mode 100644
index 0000000000000000000000000000000000000000..14fc995cda53158ab87e3dccf0cde8a120a238cb
--- /dev/null
+++ b/apps/files_sharing/api/ocssharewrapper.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @author Roeland Jago Douma <rullzer@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\Files_Sharing\API;
+
+class OCSShareWrapper {
+
+	private function getShare20OCS() {
+		return new share20OCS(new \OC\Share20\Manager(
+		                   \OC::$server->getUserSession()->getUser(),
+		                   \OC::$server->getUserManager(),
+		                   \OC::$server->getGroupManager(),
+		                   \OC::$server->getLogger(),
+		                   \OC::$server->getAppConfig(),
+		                   \OC::$server->getUserFolder(),
+		                    new \OC\Share20\DefaultShareProvider(
+		                       \OC::$server->getDatabaseConnection()
+		                   )
+		               ),
+		               \OC::$server->getGroupManager(),
+		               \OC::$server->getUserManager(),
+		               \OC::$server->getRequest(),
+		               \OC::$server->getUserFolder());
+	}
+
+	public function getAllShares($params) {
+		return \OCA\Files_Sharing\API\Local::getAllShares($params);
+	}
+
+	public function createShare($params) {
+		return \OCA\Files_Sharing\API\Local::createShare($params);
+	}
+
+	public function getShare($params) {
+		return \OCA\Files_Sharing\API\Local::getShare($params);
+	}
+
+	public function updateShare($params) {
+		return \OCA\Files_Sharing\API\Local::updateShare($params);
+	}
+
+	public function deleteShare($params) {
+		return \OCA\Files_Sharing\API\Local::deleteShare($params);
+	}
+}
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index db7aa126c4efb77cccb490063bccd4c47595a04f..8755691c1e84078ec963eedeb45588533600655e 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -61,29 +61,31 @@ $this->create('sharing_external_add', '/external')
 
 //TODO: SET: mail notification, waiting for PR #4689 to be accepted
 
+$OCSShare = new \OCA\Files_Sharing\API\OCSShareWrapper();
+
 API::register('get',
 		'/apps/files_sharing/api/v1/shares',
-		array('\OCA\Files_Sharing\API\Local', 'getAllShares'),
+		[$OCSShare, 'getAllShares'],
 		'files_sharing');
 
 API::register('post',
 		'/apps/files_sharing/api/v1/shares',
-		array('\OCA\Files_Sharing\API\Local', 'createShare'),
+		[$OCSShare, 'createShare'],
 		'files_sharing');
 
 API::register('get',
 		'/apps/files_sharing/api/v1/shares/{id}',
-		array('\OCA\Files_Sharing\API\Local', 'getShare'),
+		[$OCSShare, 'getShare'],
 		'files_sharing');
 
 API::register('put',
 		'/apps/files_sharing/api/v1/shares/{id}',
-		array('\OCA\Files_Sharing\API\Local', 'updateShare'),
+		[$OCSShare, 'updateShare'],
 		'files_sharing');
 
 API::register('delete',
 		'/apps/files_sharing/api/v1/shares/{id}',
-		array('\OCA\Files_Sharing\API\Local', 'deleteShare'),
+		[$OCSShare, 'deleteShare'],
 		'files_sharing');
 
 API::register('get',
@@ -130,3 +132,4 @@ API::register('get',
 		'/apps/files_sharing/api/v1/sharees',
 		[$sharees, 'search'],
 		'files_sharing', API::USER_AUTH);
+