diff --git a/README.md b/README.md
index e35334aa28bd8863accd20b9b61fbd0b81bd49a1..64d4007249b07bdf1891aab805d94c4ab7e253ec 100644
--- a/README.md
+++ b/README.md
@@ -1,73 +1,140 @@
 # Movement Classification
-This repository contains scripts to compute features and classify people based on their motion dynamics characteristics from the movement data collected by Palacký University, Olomouc (10.5281/zenodo.10984138). 
 
-The workflow is divided into two steps feature extraction and classification.
+This repository contains scripts to compute features and classify people based on their motion dynamics characteristics from the movement data collected by Palacký University, Olomouc [10.5281/zenodo.10984138](https://zenodo.org/records/10984138). 
 
-# Prerequisities
+The workflow is divided into two steps
 
-For this project we use R and Python, Python is used only for the part of computing the features from raw data and it is not necessary for the classification from the features.
+1. feature extraction,
+2. movement activities classification.
 
-## Step 1 Feature extraction
+There are multiple approaches to executing the scripts.
+During our tests we had trouble to execute the feature extraction part on MacOS and Windows due to difficulties with installation of correct Python environment which would be executed by R `reticulate` package.
+The classification part is completely written in R and should work fine on all systems.
+It is possible to run both scripts on all major operation systems using docker image. For more information see [Docker execution](#docker-execution) section.
+To run the scripts without using docker see [Native execution](#native-execution) section.
+The last way of working with the script is using R IDE [RStudio](https://posit.co/products/open-source/rstudio/) and execute them from there, see this [link](https://rmarkdown.rstudio.com/lesson-1.html) for more information.
+In case of RStudio usage, the prerequisites must be install the same way as for the [Native execution](#native-execution).
 
-### Software
+Since the first part of features computation is taking up to 12 hours on common laptops, we provided results of this part at Zenodo, see [10.5281/zenodo.10996083](https://zenodo.org/records/10996083).
+Thanks to this it is possible to focus on the second part of the execution workflow which should take 10 to 50 minutes depending on the system installation.
+The execution time is affected by the architecture (amd64 vs arm) and whether R packages are compiled to use parallel libraries.
 
-R version 4.3.3 (2024-02-29), Python version 3.8.10 (default, Nov 22 2023, 10:22:35), 
-libraries:
-- if (!require('tidyverse')) install.packages('tidyverse'); library('tidyverse')
-- if (!require('Chaos01')) install.packages('Chaos01'); library('Chaos01')
-- if (!require('nonlinearTseries')) install.packages('nonlinearTseries'); library('nonlinearTseries')
-- if (!require('reticulate')) install.packages('reticulate'); library('reticulate')
-- reticulate::py_install("tsfresh")
+# Docker execution
 
-### Data
+## Download repository files
 
-- The Data can be found at https://zenodo.org/records/10984138?
-    - Download it from the site.
-    - Change path in `get_features.Rmd` to the local folder, where the data was downloaded.
+To download repository files, You can use `git clone` command:
+
+```shell
+git clone https://code.it4i.cz/ADAS/movement-classification.git
+```
+
+or click on button "Code" in the top right part of the tab above the list of files and download all files as zip.
+
+## Install docker desktop
+
+- [MacOS](https://docs.docker.com/desktop/install/mac-install/)
+- [Windows](https://docs.docker.com/desktop/install/windows-install/)
+- [Linux](https://docs.docker.com/desktop/install/linux-install/)
+
+## Running the scripts from docker
+
+Among the repository files is pre-prepared `docker-compose.yml` file which contains configuration for execution of both steps.
+
+## Step 1 Features computation (optional, takes a long time to compute)
+
+In Your terminal navigate to the folder where the files from the repository are downloaded and execute the following command:
+
+```shell
+docker compose run movement-classification R --quiet -e "rmarkdown::render('get_features.Rmd')"
+```
+
+By default input dat are downloaded into a folder `data_zenodo` and output features are also placed into this folder.
 
 ## Step 2 Classification
 
-### Software
+In case You have not run the first step, in this step features are downloaded from the Zenodo repository containing pre-computed features.
+
+In Your terminal navigate to the folder where the files from the repository are downloaded and execute the following command:
+
+```shell
+docker compose run movement-classification R --quiet -e "rmarkdown::render('get_results.Rmd')"
+```
 
-RStudio is not required to run ....    See section [How to run the scripts](#how-to-run-the-scripts)
+The results are HTML document placed into the folder `output`.
 
-R version 4.3.3 (2024-02-29), Python, libraries
+## Customization
 
-### Data
+The docker compose configuration is prepared in such a way, that it will replace `get_features.Rmd` and `get_results.Rmd` in a docker image by the ones on the local filesystem.
+That means, that in case You change something in these two files, it will also be changed for the computation.
+In `get_features.Rmd` there are 3 parameters related to the recurrence plot definition on lines 23 - 25.
+In `get_results.Rmd` there are a number of parameters from line 49 to line 97.
 
-- The Data can be found at https://zenodo.org/records/10996083
-    - Download it from the site.
-    - Change path in `get_results.Rmd` to the local folder, where the data was downloaded.
+# Native execution
+
+## Download repository files
+
+To download repository files, You can use `git clone` command:
+
+```shell
+git clone https://code.it4i.cz/ADAS/movement-classification.git
+```
 
-# How to prepare environment
+or click on button "Code" in the top right part of the tab above the list of files and download all files as zip.
 
-For R (You can skip this step if You have done it already)
+## Step 1 Feature extraction (optional, takes a long time to compute)
+
+### Prerequisities
+
+- R version 4.2.0 or greater
+
+Install dependencies in R command line execute
 
 ```R
 install.packages("renv")
 renv::restore()
 ```
 
-For Python requirements file
+Install python environment from R command line, note this is not needed if only the classification is done, see Step 2 Classification below:
+
+```R
+reticulate::install_python()
+reticulate::virtualenv_create("hmch")
+reticulate::virtualenv_install("hmch", c("-r", "requirements.txt"))
+```
+
+### Model execution
+
+Now You can execute the script by calling
 
 ```bash
-python -m venv .venv
-source .venv/bin/activate
-python -m pip install -r requirements.txt
+R -e "rmarkdown::render(get_features.Rmd)"
 ```
 
-# How to run the scripts
+## Step 2 Classification
+
+### Prerequisities
+
+- R version 4.2.0 or greater
 
-The whole workflow is divided into two files, where the first one `get_features.Rmd` includes the feature extraction part. The second `get_results.Rmd` includes feature reduction and SOM training. All used functions are included in the `functions` folder.
+Install dependencies in R command line execute
+
+```R
+install.packages("renv")
+renv::restore()
+```
+
+### Model execution
 
 ```bash
-R -e "rmarkdown::render(get_features.Rmd)
+R -e "rmarkdown::render(get_results.Rmd)"
 ```
 
 At the same time this file reproduce figures from an article which is now under review and later we will link it when it is published.
 
-# Ideas for other settings options to explore
-
-...
+## Customization
 
-scripts - model - line number in file or where to find it somehow chunk number something - features to change
\ No newline at end of file
+The docker compose configuration is prepared in such a way, that it will replace `get_features.Rmd` and `get_results.Rmd` in a docker image by the ones on the local filesystem.
+That means, that in case You change something in these two files, it will also be changed for the computation.
+In `get_features.Rmd` there are 3 parameters related to the recurrence plot definition on lines 23 - 25.
+In `get_results.Rmd` there are a number of parameters from line 49 to line 97.
diff --git a/docker-compose.yml b/docker-compose.yml
index 785559a2e6dfda2f12cddff23247eb38a08a7fcc..6ce9c85e1df8341720255eae09be87e395086918 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,6 @@
 services:
   movement-classification:
+    image: nithador/movement-classification
     build:
       context: .
     container_name: movement-classification