diff --git a/readme.md b/readme.md
index 82d395bb..bd8a0f7d 100644
--- a/readme.md
+++ b/readme.md
@@ -12,7 +12,115 @@ Or you can download a latest package from http://dibiphp.com. In this
package is also `Dibi.minified`, shrinked single-file version of whole Dibi,
useful when you don't want to modify library, but just use it.
+Dibi requires PHP 5.2.0 or later. It has been tested with PHP 5.5 too.
+
+
+Examples
+--------
+
Refer to the `examples` directory for examples. Dibi documentation is
available on the [homepage](http://dibiphp.com).
-Dibi requires PHP 5.2.0 or later. It has been tested with PHP 5.5 too.
+Connect to database:
+
+```php
+// connect to database (static way)
+dibi::connect(array(
+ 'driver' => 'mysql',
+ 'host' => 'localhost',
+ 'username' => 'root',
+ 'password' => '***',
+));
+
+// or object way; in all other examples use $connection-> instead of dibi::
+$connection = new DibiConnection($options);
+```
+
+SELECT, INSERT, UPDATE
+
+```php
+dibi::query('SELECT * FROM users WHERE id = ?', $id);
+
+$arr = array(
+ 'name' => 'John',
+ 'is_admin' => TRUE,
+);
+dibi::query('INSERT INTO users', $arr);
+// INSERT INTO users (`name`, `is_admin`) VALUES ('John', 1)
+
+dibi::query('UPDATE users SET', $arr, 'WHERE `id`=?', $x);
+// UPDATE users SET `name`='John', `is_admin`=1 WHERE `id` = 123
+
+dibi::query('UPDATE users SET', array(
+ 'title' => array('SHA1(?)', 'tajneheslo'),
+));
+// UPDATE users SET 'title' = SHA1('tajneheslo')
+```
+
+Getting results
+
+```php
+$result = dibi::query('SELECT * FROM users');
+
+$value = $result->fetchSingle(); // single value
+$all = $result->fetchAll(); // all rows
+$assoc = $result->fetchAssoc('id'); // all rows as associative array
+$pairs = $result->fetchPairs('customerID', 'name'); // all rows as key => value pairs
+
+// iterating
+foreach ($result as $n => $row) {
+ print_r($row);
+}
+```
+
+Modifiers for arrays:
+
+```php
+dibi::query('SELECT * FROM users WHERE %and', array(
+ array('number > ?', 10),
+ array('number < ?', 100),
+));
+// SELECT * FROM users WHERE (number > 10) AND (number < 100)
+```
+
+
+ %and | | `[key]=val AND [key2]="val2" AND ...` |
+ %or | | `[key]=val OR [key2]="val2" OR ...` |
+ %a | assoc | `[key]=val, [key2]="val2", ...` |
+ %l %in | list | `(val, "val2", ...)` |
+ %v | values | `([key], [key2], ...) VALUES (val, "val2", ...)` |
+ %m | multivalues | `([key], [key2], ...) VALUES (val, "val2", ...), (val, "val2", ...), ...` |
+ %by | ordering | `[key] ASC, [key2] DESC ...` |
+ %n | identifiers | `[key], [key2] AS alias, ...` |
+ other | - | `val, val2, ...` |
+
+
+
+Modifiers for LIKE
+
+```php
+dibi::query("SELECT * FROM table WHERE name LIKE %like~", $query);
+```
+
+
+ %like~ | begins with |
+ %~like | ends with |
+ %~like~ | contains |
+
+
+DateTime:
+
+```php
+dibi::query('UPDATE users SET', array(
+ 'time' => new DateTime,
+));
+// UPDATE users SET ('2008-01-01 01:08:10')
+```
+
+Testing:
+
+```php
+echo dibi::$sql; // last SQL query
+echo dibi::$elapsedTime;
+echo dibi::$numOfQueries;
+echo dibi::$totalTime;