diff --git a/docs/index.md b/docs/index.md
index 967ba6f..578fa83 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,149 +1,133 @@
---
layout: default
-title: Markdown kitchen sink
+title: README
nav_order: 99
---
-Text can be **bold**, _italic_, or ~~strikethrough~~.
+
-[Link to another page](another-page).
+# Manage Docker-Compose via Node.js
-There should be whitespace between paragraphs.
+`docker-compose` is a small library that allows you to run [docker-compose](https://docs.docker.com/compose/)(which is still required) via Node.js. This is useful to bootstrap test environments. You might also generate your `docker-compose.yml` files using [composefile](https://www.npmjs.com/package/composefile).
-There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project.
+## Existing user? We need your help
+First of all: thanks for using the `docker-compose` module.
+As described in [#44][i44], we're planning to provide more guidance for CI/CD when using the `docker-compose` module and it would be great if you could support us here. More details in [#44][i44].
-# [](#header-1)Header 1
+[i44]: https://github.com/PDMLab/docker-compose/issues/44
-This is a normal paragraph following a header. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
+## Installation
-## [](#header-2)Header 2
+```
+npm install --save-dev docker-compose
+```
-> This is a blockquote following a header.
->
-> When something is important enough, you do it even if the odds are not in your favor.
+## Usage
-### [](#header-3)Header 3
+`docker-compose` current supports these commands:
-```js
-// Javascript code with syntax highlighting.
-var fun = function lang(l) {
- dateformat.i18n = require('./lang/' + l)
- return true;
+* `upAll(options)` - Builds, (re)creates, starts, and attaches to containers for all services - always uses the `-d` flag due to non interactive mode
+* `upMany(services, options)` - Builds, (re)creates, starts, and attaches to containers for the services specified in `services` - always uses the `-d` flag due to non interactive mode
+* `upOne(service, options)` - Builds, (re)creates, starts, and attaches to containers for a service specified in `service` - always uses the `-d` flag due to non interactive mode
+* `down(options)` - Stops containers and removes containers, networks, volumes, and images created by `up`
+* `kill(options)` - Force stop service containers
+* `stop(options)` - Stop running containers without removing them
+* `rm(options)` - Remove stopped service containers - always uses the `-f` flag due to non interactive mode
+* `exec(container, command, options)` - Exec `command` inside `container`, uses `-T` to properly handle stdin & stdout
+* `logs(container, command, options)` - Show logs of service. Use `options.follow` `true|false` to turn on `--follow` flag.
+* `run(service, command, options)` - Run a one-off `command` on a service, uses `-T` to properly handle stdin & stdout
+* `buildAll(options)` - Build or rebuild services
+* `buildMany(services, options)` - Build or rebuild services
+* `buildOne(service, options)` - Build or rebuild service
+* `restartAll(options)` - Restart all services
+* `restartMany(services, options)` - Restart services
+* `restartOne(service, options)` - Restart service
+* `ps(options)` - Lists containers information
+* `config(options)` - Validates configuration files and returns configuration yaml
+* `configServices(options)` - Returns list of services defined in configuration files
+* `configVolumes(options)` - Returns list of volumes defined in configuration files
+
+All commands return a `Promise({object})` with stdout and stderr strings and an exit code:
+```javascript
+{
+ out: 'stdout contents',
+ err: 'stderr contents',
+ exitCode: 0, // !== 0 in case of an error
}
```
-```ruby
-# Ruby code with syntax highlighting
-GitHubPages::Dependencies.gems.each do |gem, version|
- s.add_dependency(gem, "= #{version}")
-end
+### Example
+
+To start service containers based on the `docker-compose.yml` file in your current directory, just call `compose.up` like this:
+
+```javascript
+compose.upAll({ cwd: path.join(__dirname), log: true })
+ .then(
+ () => { console.log('done')},
+ err => { console.log('something went wrong:', err.message)}
+ );
```
-#### [](#header-4)Header 4
-
-* This is an unordered list following a header.
-* This is an unordered list following a header.
-* This is an unordered list following a header.
-
-##### [](#header-5)Header 5
-
-1. This is an ordered list following a header.
-2. This is an ordered list following a header.
-3. This is an ordered list following a header.
-
-###### [](#header-6)Header 6
-
-| head1 | head two | three |
-|:-------------|:------------------|:------|
-| ok | good swedish fish | nice |
-| out of stock | good and plenty | nice |
-| ok | good `oreos` | hmm |
-| ok | good `zoute` drop | yumm |
-
-### There's a horizontal rule below this.
-
-* * *
-
-### Here is an unordered list:
-
-* Item foo
-* Item bar
-* Item baz
-* Item zip
-
-### And an ordered list:
-
-1. Item one
-1. Item two
-1. Item three
-1. Item four
-
-### And a nested list:
-
-- level 1 item
- - level 2 item
- - level 2 item
- - level 3 item
- - level 3 item
-- level 1 item
- - level 2 item
- - level 2 item
- - level 2 item
-- level 1 item
- - level 2 item
- - level 2 item
-- level 1 item
-
-### Nesting an ol in ul in an ol
-
-- level 1 item (ul)
- 1. level 2 item (ol)
- 1. level 2 item (ol)
- - level 3 item (ul)
- - level 3 item (ul)
-- level 1 item (ul)
- 1. level 2 item (ol)
- 1. level 2 item (ol)
- - level 3 item (ul)
- - level 3 item (ul)
- 1. level 4 item (ol)
- 1. level 4 item (ol)
- - level 3 item (ul)
- - level 3 item (ul)
-- level 1 item (ul)
-
-### And a task list
-
-- [ ] Hello, this is a TODO item
-- [ ] Hello, this is another TODO item
-- [x] Goodbye, this item is done
-
-### Small image
-
-
-
-### Large image
-
-
-
-
-### Definition lists can be used with HTML syntax.
-
-