diff --git a/lib/Doctrine/Common/Persistance/ObjectManager.php b/lib/Doctrine/Common/Persistance/ObjectManager.php
new file mode 100644
index 0000000..2f1f200
--- /dev/null
+++ b/lib/Doctrine/Common/Persistance/ObjectManager.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace Doctrine\Common\Persistance;
+
+interface ObjectManager
+{
+    /**
+     * @param string
+     * @param mixed
+     * @return object
+     */
+    public function find($className, $id);
+
+    /**
+     * @param object $object
+     * @return void
+     */
+    public function persist($object);
+
+    /**
+     * @param object $object
+     * @return void
+     */
+    public function remove($object);
+
+    /**
+     * @param object $object
+     */
+    public function merge($object);
+
+    /**
+     * @param object $object
+     */
+    public function detach($object);
+
+    /**
+     * @param object
+     * @return void
+     */
+    public function refresh($object);
+
+    /**
+     * @return void
+     */
+    public function flush();
+
+    /**
+     * @param string $className
+     * @return \Doctrine\Common\Persistance\ObjectRepository
+     */
+    public function getRepository($className);
+}
\ No newline at end of file
diff --git a/lib/Doctrine/Common/Persistance/ObjectRepository.php b/lib/Doctrine/Common/Persistance/ObjectRepository.php
new file mode 100644
index 0000000..c74ad23
--- /dev/null
+++ b/lib/Doctrine/Common/Persistance/ObjectRepository.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace Doctrine\Common\Persistance;
+
+class ObjectRepository
+{
+    /**
+     * @param mixed $id
+     * @return object
+     */
+    public function find($id);
+
+    /**
+     * @return array
+     */
+    public function findAll();
+
+    /**
+     * @param array $criteria
+     * @return array
+     */
+    public function findBy(array $criteria);
+
+    /**
+     * @param array $criteria
+     * @return object
+     */
+    public function findOneBy(array $criteria);
+}
\ No newline at end of file
