diff --git a/README.md b/README.md
index a1f54e4..2011949 100644
--- a/README.md
+++ b/README.md
@@ -1,41 +1,121 @@
-
VBR Development Kit
-
+
VBR Development Kit
+
+
+
+
+
+
This kit contains utilities to work on the VBR SLAM dataset
-# :hammer_and_wrench: Install
+# Install
```shell
pip install vbr-devkit
```
-# :rocket: Usage
-You will find here the list of available commands to interact with our dataset
+You can install autocompletion for our package by typing:
+
+```shell
+vbr --install-completion
+```
+
+you might need to restart the shell for the autocompletion to take effect.
+# Usage
## Download sequences
+You can list the available sequences you can download by typing:
+
+```shell
+vbr list
+```
+You should see something similar to this
+![list](https://github.com/rvp-group/vbr-devkit/assets/5305530/c195e5b0-c5ee-4abb-a7f5-2ce97474ac4f)
+
+After choosing your sequence, you can type
+
```shell
-vbr_download --dataset --save-dir
+vbr download
```
-You can get the list of all the available sequences by using the `-h | --help` flag
+For instance, we could save `campus_train0` as follows:
```shell
-❯ vbr_download -h
-usage: vbr_download [-h] --dataset
- {all,campus_test0,campus_test1,campus_train0,campus_train1,ciampino_test0,ciampino_t
-est1,ciampino_train0,ciampino_train1,colosseo_test0,colosseo_train0,diag_test0,diag_train0,pincio_test0,
-pincio_train0,spagna_test0,spagna_train0}
- --save-dir PATH
+vbr download campus_train0 ~/data/
+```
+**N.B.** The script will actually save the sequence at `/vbr_slam//`. Moreover, by calling the previous command, we expect the following directory:
+```
+data
+ - vbr_slam
+ - campus
+ - campus_train0
+ - vbr_calib.yaml
+ - campus_train0_gt.txt
+ - campus_train0_00.bag
+ - campus_train0_01.bag
+ - campus_train0_02.bag
+ - campus_train0_03.bag
+ - campus_train0_04.bag
+```
+
+## Convert format
-╭─ options ────────────────────────────────────────────────────────────────────────────────────────────╮
-│ -h, --help show this help message and exit │
-│ --dataset │
-│ {all,campus_test0,campus_test1,campus_train0,campus_train1,ciampino_test0,ciampino_test1,ciampino_t… │
-│ (required) │
-│ --save-dir PATH (required) │
-╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯
+The sequences are provided in ROS1 format. We offer a convenient tool to change representation if you prefer working on a different format.
+You can see the supported formats by typing:
+
+```shell
+vbr convert --help
```
+To convert a bag or a sequence of bags, type:
+```shell
+vbr convert
+```
+
+for instance, we could convert the `campus_train0` sequence to `kitti` format as follows:
+
+```shell
+vbr convert kitti ~/data/vbr_slam/campus/campus_train0/campus_train0_00.bag ~/data/campus_train0_00_kitti/
+```
+
+We can expect the following result:
+
+```
+data
+ - campus_train0_00_kitti
+ - camera_left
+ - timestamps.txt
+ - data
+ - 0000000000.png
+ - 0000000001.png
+ - ...
+ - camera_right
+ - timestamps.txt
+ - data
+ - 0000000000.png
+ - 0000000001.png
+ - ...
+ - ouster_points
+ - timestamps.txt
+ - data
+ - .dtype.pkl
+ - 0000000000.bin
+ - 0000000001.bin
+ - ...
+ - ...
+```
+
+**N.B.** In KITTI format, point clouds are embedded in binary files that can be opened using `Numpy` and `pickle` as follows:
+
+```python
+import numpy as np
+import pickle
+
+with open("campus_train0_00_kitti/ouster_points/data/.dtype.pkl", "rb") as f:
+ cdtype = pickle.load(f)
+
+cloud_numpy = np.fromfile("/campus_train0_00_kitti/ouster_points/data/0000000000.bin", dtype=cdtype)
+```