diff --git a/lib/preview.php b/lib/preview.php
index b40ba191fbae27eb1b36444bc29eea543038568d..266f7795f12f420402c9809b67cbcc376e51444e 100755
--- a/lib/preview.php
+++ b/lib/preview.php
@@ -42,6 +42,9 @@ class Preview {
 	private $scalingup;
 
 	//preview images object
+	/**
+	 * @var \OC_Image
+	 */
 	private $preview;
 
 	//preview providers
@@ -624,4 +627,4 @@ class Preview {
 		}
 		return false;
 	}
-}
\ No newline at end of file
+}
diff --git a/lib/previewmanager.php b/lib/previewmanager.php
new file mode 100755
index 0000000000000000000000000000000000000000..ac9a866a75b71d04f86afe114df11e4dbe58d89d
--- /dev/null
+++ b/lib/previewmanager.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2013 Thomas Müller thomas.mueller@tmit.eu
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ *
+ */
+namespace OC;
+
+use OCP\image;
+use OCP\IPreview;
+
+class PreviewManager implements IPreview {
+	/**
+	 * @brief return a preview of a file
+	 * @param string $file The path to the file where you want a thumbnail from
+	 * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
+	 * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
+	 * @param boolean $scaleUp Scale smaller images up to the thumbnail size or not. Might look ugly
+	 * @return \OCP\Image
+	 */
+	function createPreview($file, $maxX = 100, $maxY = 75, $scaleUp = false)
+	{
+		$preview = new \OC\Preview('', '/', $file, $maxX, $maxY, $scaleUp);
+		return $preview->getPreview();
+	}
+
+	/**
+	 * @brief returns true if the passed mime type is supported
+	 * @param string $mimeType
+	 * @return boolean
+	 */
+	function isMimeSupported($mimeType = '*')
+	{
+		return \OC\Preview::isMimeSupported($mimeType);
+	}
+}
diff --git a/lib/public/ipreview.php b/lib/public/ipreview.php
new file mode 100644
index 0000000000000000000000000000000000000000..b01e7f5b539918f7cee5549af7233080511daabe
--- /dev/null
+++ b/lib/public/ipreview.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OCP;
+
+/**
+ * This class provides functions to render and show thumbnails and previews of files
+ */
+interface IPreview
+{
+
+	/**
+	 * @brief return a preview of a file
+	 * @param string $file The path to the file where you want a thumbnail from
+	 * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
+	 * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
+	 * @param boolean $scaleUp Scale smaller images up to the thumbnail size or not. Might look ugly
+	 * @return \OCP\Image
+	 */
+	function createPreview($file, $maxX = 100, $maxY = 75, $scaleUp = false);
+
+
+	/**
+	 * @brief returns true if the passed mime type is supported
+	 * @param string $mimeType
+	 * @return boolean
+	 */
+	function isMimeSupported($mimeType = '*');
+
+}
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php
index 5f5b9677549587b836000cd699127a291ed95476..144c1a5b3b92474bbe3b2a4416ecd77cf1871cfa 100644
--- a/lib/public/iservercontainer.php
+++ b/lib/public/iservercontainer.php
@@ -48,4 +48,10 @@ interface IServerContainer {
 	 */
 	function getRequest();
 
+	/**
+	 * Returns the preview manager which can create preview images for a given file
+	 *
+	 * @return \OCP\IPreview
+	 */
+	function getPreviewManager();
 }
diff --git a/lib/public/preview.php b/lib/public/preview.php
deleted file mode 100644
index 7588347eccb76d88822b9d7babbcf6d39153c2c2..0000000000000000000000000000000000000000
--- a/lib/public/preview.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
- * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-namespace OCP;
-
-/**
- * This class provides functions to render and show thumbnails and previews of files
- */
-class Preview {
-
-	/**
-	 * @brief return a preview of a file
-	 * @param $file The path to the file where you want a thumbnail from
-	 * @param $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
-	 * @param $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
-	 * @param $scaleup Scale smaller images up to the thumbnail size or not. Might look ugly
-	 * @return image
-	 */
-	public static function show($file,$maxX=100,$maxY=75,$scaleup=false) {
-		return(\OC\Preview::show($file,$maxX,$maxY,$scaleup));
-	}
-
-
-
-	public static function isMimeSupported($mimetype='*') {
-		return \OC\Preview::isMimeSupported($mimetype);
-	}
-
-}
diff --git a/lib/server.php b/lib/server.php
index ad955bf5c655062cf39a23d378c5f79b459ab013..d85996612e9dfcfb43a69184ac83858e3b36f17e 100644
--- a/lib/server.php
+++ b/lib/server.php
@@ -2,6 +2,7 @@
 
 namespace OC;
 
+use OC\AppFramework\Http\Request;
 use OC\AppFramework\Utility\SimpleContainer;
 use OCP\IServerContainer;
 
@@ -17,6 +18,35 @@ class Server extends SimpleContainer implements IServerContainer {
 		$this->registerService('ContactsManager', function($c){
 			return new ContactsManager();
 		});
+		$this->registerService('Request', function($c){
+			$params = array();
+
+			// we json decode the body only in case of content type json
+			if (isset($_SERVER['CONTENT_TYPE']) && stripos($_SERVER['CONTENT_TYPE'],'json') === true ) {
+				$params = json_decode(file_get_contents('php://input'), true);
+				$params = is_array($params) ? $params: array();
+			}
+
+			return new Request(
+				array(
+					'get' => $_GET,
+					'post' => $_POST,
+					'files' => $_FILES,
+					'server' => $_SERVER,
+					'env' => $_ENV,
+					'session' => $_SESSION,
+					'cookies' => $_COOKIE,
+					'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD']))
+						? $_SERVER['REQUEST_METHOD']
+						: null,
+					'params' => $params,
+					'urlParams' => $c['urlParams']
+				)
+			);
+		});
+		$this->registerService('PreviewManager', function($c){
+			return new PreviewManager();
+		});
 	}
 
 	/**
@@ -37,4 +67,14 @@ class Server extends SimpleContainer implements IServerContainer {
 	{
 		return $this->query('Request');
 	}
+
+	/**
+	 * Returns the preview manager which can create preview images for a given file
+	 *
+	 * @return \OCP\IPreview
+	 */
+	function getPreviewManager()
+	{
+		return $this->query('PreviewManager');
+	}
 }