diff --git a/.idea/modules.xml b/.idea/modules.xml
index 5b8593b5db5e5594f7121bb88628ce64c5136c9a..fe19a3834c84e6b870cab7101024ad1969b1c1f6 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,7 +2,7 @@
 <project version="4">
   <component name="ProjectModuleManager">
     <modules>
-      <module fileurl="file://$PROJECT_DIR$/../cursor/.idea/cursor.iml" filepath="$PROJECT_DIR$/../cursor/.idea/cursor.iml" />
+      <module fileurl="file://$PROJECT_DIR$/.idea/cursor.iml" filepath="$PROJECT_DIR$/.idea/cursor.iml" />
     </modules>
   </component>
 </project>
\ No newline at end of file
diff --git a/src/Cursor.php b/src/Cursor.php
index 70b1bbc8372b956fc893b5040fdec747d53251ba..131f99e7358f79ad20b47a2be7db1acbc7d7b956 100644
--- a/src/Cursor.php
+++ b/src/Cursor.php
@@ -4,6 +4,7 @@
  */
 
 namespace Grifart\Mappi\Cursor;
+use Grifart\Mappi\Cursor\Driver\ICursorDriver;
 
 /**
  * PostgreSQL cursor driver
diff --git a/src/ArrayCursorDriver.php b/src/Driver/ArrayCursorDriver.php
similarity index 98%
rename from src/ArrayCursorDriver.php
rename to src/Driver/ArrayCursorDriver.php
index f982f03fe8d35aed221dc2c92424f6cddbbce378..029dd0deff187cc6de2f9e87705064cac51f7e86 100644
--- a/src/ArrayCursorDriver.php
+++ b/src/Driver/ArrayCursorDriver.php
@@ -3,7 +3,8 @@
  * This file is part of mappi/cursor.
  */
 
-namespace Grifart\Mappi\Cursor;
+namespace Grifart\Mappi\Cursor\Driver;
+use Grifart\Mappi\Cursor\CursorException;
 
 /**
  * Array Cursor simulates scrolling cursor as implemented in PostgreSQL 9.5.
diff --git a/src/ICursorDriver.php b/src/Driver/ICursorDriver.php
similarity index 98%
rename from src/ICursorDriver.php
rename to src/Driver/ICursorDriver.php
index e4b0d97b44e7c2b31a33276595579ba9b7e67113..1fd54938e350e2cdaa67960b234884200efe41bf 100644
--- a/src/ICursorDriver.php
+++ b/src/Driver/ICursorDriver.php
@@ -2,7 +2,7 @@
 /**
  * This file is part of mappi/cursor.
  */
-namespace Grifart\Mappi\Cursor;
+namespace Grifart\Mappi\Cursor\Driver;
 
 /**
  * Represents cursor
diff --git a/src/PostgresCursorDriver.php b/src/Driver/PostgresCursorDriver.php
similarity index 98%
rename from src/PostgresCursorDriver.php
rename to src/Driver/PostgresCursorDriver.php
index 6d58bdfcfdb73a63c40b2860d3b9e282d886ffce..984424ebf9d59a2670e5cf456997b1c616588b13 100644
--- a/src/PostgresCursorDriver.php
+++ b/src/Driver/PostgresCursorDriver.php
@@ -3,7 +3,7 @@
  * This file is part of mappi/cursor.
  */
 
-namespace Grifart\Mappi\Cursor;
+namespace Grifart\Mappi\Cursor\Driver;
 
 use Dibi\Connection;
 use Dibi\Row;
diff --git a/src/PostgresCursorFactory.php b/src/Driver/PostgresCursorFactory.php
similarity index 91%
rename from src/PostgresCursorFactory.php
rename to src/Driver/PostgresCursorFactory.php
index 67b08d88127262dff22f74fabe39e99059543f9b..e2f2468fae982e830536beb10874ade7f097f1b0 100644
--- a/src/PostgresCursorFactory.php
+++ b/src/Driver/PostgresCursorFactory.php
@@ -3,9 +3,11 @@
  * This file is part of mappi/cursor.
  */
 
-namespace Grifart\Mappi\Cursor;
+namespace Grifart\Mappi\Cursor\Driver;
 
 use Dibi\Connection;
+use Grifart\Mappi\Cursor\Cursor;
+use Grifart\Mappi\Cursor\ICursor;
 
 final class PostgresCursorFactory
 {
diff --git a/tests/Cursor/CursorTest.phpt b/tests/Cursor/CursorTest.phpt
index 2473cb48f3325b949d10139679e6ff9d9bc5eaaa..360a1b0dee82f9d3d54a617a996efbc3cd24f3dd 100644
--- a/tests/Cursor/CursorTest.phpt
+++ b/tests/Cursor/CursorTest.phpt
@@ -5,8 +5,8 @@
 
 namespace Grifart\Mappi\Tests\Store\Cursor;
 
-use Grifart\Mappi\Cursor\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\Cursor;
+use Grifart\Mappi\Cursor\Driver\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\ICursor;
 
 require_once __DIR__ . "/../bootstrap.php";
@@ -19,11 +19,6 @@ class CursorTest extends ICursorTest
 
 	protected function setUp()
 	{
-		//global $connection, $SQL_thousandRowsAscending;
-		//$connection->begin();
-
-		//$factory = new PostgresCursorFactory($connection);
-		//$this->uut = $factory->create($SQL_thousandRowsAscending, true);
 		$driver = new ArrayCursorDriver();
 		$driver->createTestCursor("test", 1000);
 		$this->uut = new Cursor(
@@ -34,14 +29,6 @@ class CursorTest extends ICursorTest
 		parent::setUp();
 	}
 
-	public function tearDown()
-	{
-//		global $connection;
-//		$connection->rollback();
-
-		parent::tearDown();
-	}
-
 }
 
 (new CursorTest())->run();
diff --git a/tests/Cursor/PostgresCursorTest.phpt b/tests/Cursor/PostgresCursorTest.phpt
index 716babdf4e5b08fc114b0b526c76856c189fdb9a..cd4444b76942c495082db58ec41259f553db85e5 100644
--- a/tests/Cursor/PostgresCursorTest.phpt
+++ b/tests/Cursor/PostgresCursorTest.phpt
@@ -6,8 +6,8 @@
 namespace Grifart\Mappi\Tests\Store\Cursor;
 
 use Dibi\DriverException;
+use Grifart\Mappi\Cursor\Driver\PostgresCursorFactory;
 use Grifart\Mappi\Cursor\ICursor;
-use Grifart\Mappi\Cursor\PostgresCursorFactory;
 use Tester\Environment;
 
 require_once __DIR__ . "/../bootstrap.php";
diff --git a/tests/Cursor/SemanticCursorIntegration.phpt b/tests/Cursor/SemanticCursorIntegration.phpt
index 5cef2c7d38778b9b5f46f377606268bcc5bc6cc1..95dc3e0d99c19b5941a9463432ebccce5db238d7 100644
--- a/tests/Cursor/SemanticCursorIntegration.phpt
+++ b/tests/Cursor/SemanticCursorIntegration.phpt
@@ -5,8 +5,8 @@
 
 namespace Grifart\Mappi\Tests\Store\Cursor;
 
-use Grifart\Mappi\Cursor\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\Cursor;
+use Grifart\Mappi\Cursor\Driver\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\SemanticCursor;
 use Mockery;
 
@@ -27,10 +27,6 @@ class SemanticCursorIntegrationTest extends ICursorTest
 
 	protected function setUp()
 	{
-//		global $connection, $SQL_thousandRowsAscending;
-//		$connection->begin();
-
-
 		$driver = new ArrayCursorDriver();
 		$driver->createTestCursor("test", 1000);
 		$cursor = new Cursor(
@@ -44,14 +40,6 @@ class SemanticCursorIntegrationTest extends ICursorTest
 		parent::setUp();
 	}
 
-	public function tearDown()
-	{
-//		global $connection;
-//		$connection->rollback();
-
-		parent::tearDown();
-	}
-
 }
 
 (new SemanticCursorIntegrationTest())->run();
diff --git a/tests/Cursor/TrackedCursorTest.phpt b/tests/Cursor/TrackedCursorTest.phpt
index 0511173a71b4903bc7b204e7cacebf8b60e990b7..cc6b98fba1bd56fff1a6cccc027c7982469d14dc 100644
--- a/tests/Cursor/TrackedCursorTest.phpt
+++ b/tests/Cursor/TrackedCursorTest.phpt
@@ -8,9 +8,9 @@
 
 namespace Grifart\Mappi\Tests\Store\Cursor;
 
-use Grifart\Mappi\Cursor\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\Cursor;
 use Grifart\Mappi\Cursor\CursorPosition;
+use Grifart\Mappi\Cursor\Driver\ArrayCursorDriver;
 use Grifart\Mappi\Cursor\TrackedCursor;
 use Tester\Assert;
 
@@ -27,10 +27,6 @@ class TrackedCursorTest extends ICursorTest
 
 	protected function setUp()
 	{
-//		global $connection, $SQL_thousandRowsAscending;
-//		$connection->begin();
-
-//		$factory = new PostgresCursorFactory($connection);
 		$driver = new ArrayCursorDriver();
 		$driver->createTestCursor("test", 1000);
 		$cursor = new Cursor(
@@ -45,14 +41,6 @@ class TrackedCursorTest extends ICursorTest
 		parent::setUp();
 	}
 
-	public function tearDown()
-	{
-//		global $connection;
-//		$connection->rollback();
-
-		parent::tearDown();
-	}
-
 	private function assertPosition(string $position)
 	{
 		Assert::equal($position, (string)$this->uut->getPosition());