diff --git a/Readme.md b/Readme.md
new file mode 100644
index 0000000..a78b9f7
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,118 @@
+# QueryBuilder
+
+## Requirements
++ PHP 8+ (Should work with 7+, but haven't tested it).
++ `Psr\Container\ContainerInterface` implementation like [`php-di/php-di`](https://packagist.org/packages/php-di/php-di).
+
+## Installation
+
+```composer.json```
+```
+{
+ ...
+ "repositories": [
+ {
+ "type": "git",
+ "path": "https://git.provm.cl/ProVM/query_builder.git"
+ }
+ ],
+ "require": {
+ ...
+ "provm/query_builder": "^1.0",
+ ...
+ },
+ ...
+}
+```
+
+## Setup
+
+```
+$container->set(ProVM\Concept\Database\Query\Select::class, function(Psr\Container\ContainerInterface $container) {
+ return $container->get(ProVM\Database\Query\MySQL\Select::class);
+});
+$container->set(ProVM\Concept\Database\Query\Insert::class, function(Psr\Container\ContainerInterface $container) {
+ return $container->get(ProVM\Database\Query\MySQL\Insert::class);
+});
+$container->set(ProVM\Concept\Database\Query\Update::class, function(Psr\Container\ContainerInterface $container) {
+ return $container->get(ProVM\Database\Query\MySQL\Update::class);
+});
+$container->set(ProVM\Concept\Database\Query\Delete::class, function(Psr\Container\ContainerInterface $container) {
+ return $container->get(ProVM\Database\Query\MySQL\Delete::class);
+});
+```
+
+## Usage
+
+QueryBuilder
+```
+include_once 'vendor/autoload.php';
+$qb = new QueryBuilder();
+
+$query = $qb->select(<*columns>);
+$query = $qb->insert(
);
+$query = $qb->update();
+$query = $qb->delete();
+```
+
+### Queries
+
+#### Select
+`SELECT FROM [ JOIN ON . = .][ WHERE [ AND|OR ]][ GROUP BY [, ]][ HAVING [ AND|OR ]][ ORDER BY ASC|DESC[, ASC|DESC]]`
+
+Mysql also include `[ LIMIT [ OFFSET ]]`
+```
+$query = $qb->select(); // use '*' for columns
+or
+$query = $qb->select()->select(['id', 'column1',]);
+or
+$query = $qb->select(['id', 'column1',]);
+
+$query->from('table1');
+$query->joins([['table2', 'table1.column1 = table2.column21'],]);
+$query->where(['table2.column22 = 10',]);
+$query->groupBy(['table1.column1',]);
+$query->having(['table1.column1 < 10',]);
+$query->orderBy(['table2.column22',]);
+$query->limit(10, 10);
+```
+
+#### Insert
+`INSERT INTO [ ()]`
+with two options
+`