diff --git a/lib/allconfig.php b/lib/allconfig.php
new file mode 100644
index 0000000000000000000000000000000000000000..81c8892348b1f52edf8ff556524e3729e954eafe
--- /dev/null
+++ b/lib/allconfig.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ * 
+ */
+
+namespace OC;
+
+/**
+ * Class to combine all the configuration options ownCloud offers
+ */
+class AllConfig implements \OCP\IConfig {
+	/**
+	 * Sets a new systemwide value
+	 * @param string $key the key of the value, under which will be saved
+	 * @param string $value the value that should be stored
+	 * @todo need a use case for this
+	 */
+// 	public function setSystemValue($key, $value) {
+// 		\OCP\Config::setSystemValue($key, $value);
+// 	}
+
+	/**
+	 * Looks up a systemwide defined value
+	 * @param string $key the key of the value, under which it was saved
+	 * @return string the saved value
+	 */
+	public function getSystemValue($key) {
+		return \OCP\Config::getSystemValue($key, '');
+	}
+
+
+	/**
+	 * Writes a new appwide value
+	 * @param string $appName the appName that we want to store the value under
+	 * @param string $key the key of the value, under which will be saved
+	 * @param string $value the value that should be stored
+	 */
+	public function setAppValue($appName, $key, $value) {
+		\OCP\Config::setAppValue($appName, $key, $value);
+	}
+
+	/**
+	 * Looks up an appwide defined value
+	 * @param string $appName the appName that we stored the value under
+	 * @param string $key the key of the value, under which it was saved
+	 * @return string the saved value
+	 */
+	public function getAppValue($appName, $key) {
+		return \OCP\Config::getAppValue($appName, $key, '');
+	}
+
+
+	/**
+	 * Set a user defined value
+	 * @param string $userId the userId of the user that we want to store the value under
+	 * @param string $appName the appName that we want to store the value under
+	 * @param string $key the key under which the value is being stored
+	 * @param string $value the value that you want to store
+	 */
+	public function setUserValue($userId, $appName, $key, $value) {
+		\OCP\Config::setUserValue($userId, $appName, $key, $value);
+	}
+
+
+	/**
+	 * Shortcut for getting a user defined value
+	 * @param string $userId the userId of the user that we want to store the value under
+	 * @param string $appName the appName that we stored the value under
+	 * @param string $key the key under which the value is being stored
+	 */
+	public function getUserValue($userId, $appName, $key){
+		return \OCP\Config::getUserValue($userId, $appName, $key);
+	}
+}
diff --git a/lib/public/iconfig.php b/lib/public/iconfig.php
new file mode 100644
index 0000000000000000000000000000000000000000..0c150ec351a7c36669d430391dcb58911ebf6121
--- /dev/null
+++ b/lib/public/iconfig.php
@@ -0,0 +1,59 @@
+<?php
+/** * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ * 
+ */
+namespace OCP;
+
+/**
+ * Access to all the configuration options ownCloud offers
+ */
+interface IConfig {
+	/**
+	 * Sets a new systemwide value
+	 * @param string $key the key of the value, under which will be saved
+	 * @param string $value the value that should be stored
+	 * @todo need a use case for this
+	 */
+// 	public function setSystemValue($key, $value);
+
+	/**
+	 * Looks up a systemwide defined value
+	 * @param string $key the key of the value, under which it was saved
+	 * @return string the saved value
+	 */
+	public function getSystemValue($key);
+
+
+	/**
+	 * Writes a new appwide value
+	 * @param string $key the key of the value, under which will be saved
+	 * @param string $value the value that should be stored
+	 */
+	public function setAppValue($key, $value, $appName=null);
+
+	/**
+	 * Looks up an appwide defined value
+	 * @param string $key the key of the value, under which it was saved
+	 * @return string the saved value
+	 */
+	public function getAppValue($key, $appName=null);
+
+
+	/**
+	 * Shortcut for setting a user defined value
+	 * @param string $key the key under which the value is being stored
+	 * @param string $value the value that you want to store
+	 * @param string $userId the userId of the user that we want to store the value under, defaults to the current one
+	 */
+	public function setUserValue($key, $value, $userId=null);
+
+	/**
+	 * Shortcut for getting a user defined value
+	 * @param string $key the key under which the value is being stored
+	 * @param string $userId the userId of the user that we want to store the value under, defaults to the current one
+	 */
+	public function getUserValue($key, $userId=null);
+}
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php
index ebcc0fe4cd49a0bb686fc0ce882c7b5cf1a87008..4478a4e8a6cd47a61de766f8ea71105745d744c9 100644
--- a/lib/public/iservercontainer.php
+++ b/lib/public/iservercontainer.php
@@ -74,6 +74,11 @@ interface IServerContainer {
 	 */
 	function getNavigationManager();
 
+	/**
+	 * @return \OCP\IConfig
+	 */
+	function getConfig();
+
 	/**
 	 * Returns an ICache instance
 	 *
diff --git a/lib/server.php b/lib/server.php
index 13bda2dc30df9fd3c96187a674a202d677c8eaac..57e7f4ab4f1f169eeb067e64d387dbcdd0149b1c 100644
--- a/lib/server.php
+++ b/lib/server.php
@@ -100,6 +100,9 @@ class Server extends SimpleContainer implements IServerContainer {
 		$this->registerService('NavigationManager', function($c) {
 			return new \OC\NavigationManager();
 		});
+		$this->registerService('AllConfig', function($c) {
+			return new \OC\AllConfig();
+		});
 		$this->registerService('UserCache', function($c) {
 			return new UserCache();
 		});
@@ -162,6 +165,12 @@ class Server extends SimpleContainer implements IServerContainer {
 		return $this->query('NavigationManager');
 	}
 
+	/**
+	 * @return \OC\Config
+	 */
+	function getConfig() {
+		return $this->query('AllConfig');
+	}
 	/**
 	 * Returns an ICache instance
 	 *