diff --git a/readme.md b/readme.md
index c5dc61cb6e66713e08de2f72cb0ac28318636a27..6f6748cc6abec568db99c12dcaea492c84ed7127 100644
--- a/readme.md
+++ b/readme.md
@@ -11,216 +11,139 @@ If you'd like to try out the application without preparing the environment, you
 docker-compose build && docker-compose up
 # To add a new user, type in the new terminal:
 docker-compose exec web sh
-python manage.py createsuperuser
+python manage.py superworker
 ```
 
 ## Required software (on ubuntu's OS family):
-  - `sudo apt-get install libpq-dev python-dev postgresql postgresql-contrib python virtualenv python-virtualenv gcc python-lxml libxml2-dev libcurl4-openssl-dev libcurl4-gnutls-dev libgnutls28-dev`
-
-## Postgres installation
-  - If you don't have postgres installed, complete step seven from [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-django-with-postgres-nginx-and-gunicorn](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-django-with-postgres-nginx-and-gunicorn) (remember to save all the credentials, they will be necessary to run the application).
-
-## Developer project installation
-  - `mkdir -p ~/dev/smash`
-  - `cd ~/dev/smash`
-  - `git clone ssh://git@git-r3lab-server.uni.lu:8022/NCER-PD/scheduling-system.git`
-  - `cd scheduling-system`
-  - `virtualenv env` to create new virtualenv (contains clean python working environment)
-  - `. env/bin/activate` (to start using virtualenv)
-  - `pip install -r requirements.txt` to install project's dependencies
-  - Create `local_settings.py` file in `(./scheduling-system)/smash/smash` directory by copying the template in `(./scheduling-system)/smash/smash/local_settings.template` and edit your local_setttings.py file to change your database connection data.
-
- - Update migration db scrpit from file structure (`./scheduling-system/smash/manage.py makemigrations`)
- - Create the database by applying migrations (`./scheduling-system/smash/manage.py migrate`)
- - Create the first, administrative, user-  (`./scheduling-system/smash/manage.py createsuperuser`)
-
-## Development    
-  - Remember, that before working you have to activate _virtualenv_, by: `devel@host ~/home/smash/scheduling-system $ . env/bin/activate`
-  - In order to run development server, run: `devel@host ~/home/smash/scheduling-system/smash $ ./manage.py runserver` and go to `127.0.0.1:8000` in browser
-  - For reference of HTML tempalte, see [https://almsaeedstudio.com/themes/AdminLTE/pages/widgets.html#](https://almsaeedstudio.com/themes/AdminLTE/pages/widgets.html#)
-
-### Mac Developers
-
-In case of problems with the openssl version installed on the system:
-
+  - install required dependencies on ubuntu
+```bash
+sudo apt-get install python3, virtualenv, libcurl4-gnutls-dev, libpng-dev, libfreetype6-dev, libpq-dev, gcc, g++, python3-dev, libgnutls28-dev, libjpeg-dev, libfreetype6-dev, git
 ```
-export PYCURL_SSL_LIBRARY=openssl
-pip install pycurl --global-option=build_ext --global-option="-I/usr/local/Cellar/openssl/1.0.2k/include" --global-option="-L/usr/local/Cellar/openssl/1.0.2k/lib" --upgrade
-pip install psycopg2 --global-option=build_ext --global-option="-I/usr/local/Cellar/openssl/1.0.2k/include" --global-option="-L/usr/local/Cellar/openssl/1.0.2k/lib" --upgrade
+  - install nodejs
+```bash
+curl -sL https://deb.nodesource.com/setup_14.x | bash -
+apt-get install nodejs
 ```
 
-## Production deployment
-  - git pull and other project installation should be performed in a dir where this django app should be installed, in this tutorial it's /var/www/scheduling-system/
-  - install nginx: `apt-get install nginx`
-  - create gunicorn service in systemd (http://docs.gunicorn.org/en/stable/deploy.html#systemd):
 
-### /etc/systemd/system/gunicorn.service
+## Developer project installation
+  - clone smasch:
 
+```bash
+git clone ssh://git@git-r3lab-server.uni.lu:8022/NCER-PD/scheduling-system.git
 ```
-[Unit]
-Description=gunicorn daemon
-Requires=gunicorn.socket
-After=network.target
-
-[Service]
-PIDFile=/run/gunicorn/pid
-User=www-data
-Group=www-data
-WorkingDirectory=/var/www/scheduling-system/smash
 
-ExecStart=/var/www/scheduling-system/env/bin/gunicorn --pid /run/gunicorn/pid smash.wsgi --error-logfile /var/log/gunicorn.log --log-level DEBUG --capture-output --limit-request-line 8192
-ExecReload=/bin/kill -s HUP $MAINPID
-ExecStop=/bin/kill -s TERM $MAINPID
-PrivateTmp=true
+  - setup virtualenv with clean python3 working environment and start using it. Important python3.6 or higher is required
 
-[Install]
-WantedBy=multi-user.target
+```bash
+cd scheduling-system
+virtualenv env -p python3
+. env/bin/activate
 ```
 
-Don't forget to change ownership of `/run/gunicorn/` folder and `/var/log/gunicorn.log` file.
-```
-chown -R www-data:www-data /run/gunicorn/
-touch /var/log/gunicorn.log
-chown www-data:www-data /var/log/gunicorn.log
-```
-### /etc/systemd/system/gunicorn.socket
+  - install smasch dependencies
 
+```bash
+pip install -r requirements.txt
+pip install -r requirements-dev.txt
+npm install
 ```
-[Unit]
-Description=gunicorn socket
 
-[Socket]
-ListenStream=/run/gunicorn/socket
-ListenStream=0.0.0.0:9000
-ListenStream=[::]:8000
+  - Create `local_settings.py` file in `smash/smash` directory by copying the template in `smash/smash/local_settings.template` and edit your local_setttings.py file to change your database connection data.
 
-[Install]
-WantedBy=sockets.target
-```
-   - modify nginx configuration
 
-### /etc/nginx/nginx.conf
+### Database configuration
+There are two databases supported: `sqlite3` or `postgresql`. You can configure database connection in `smash/smash/local_settings.py`.
 
-```
-user www-data;
-worker_processes auto;
-pid /run/nginx.pid;
+- sqlite3 database configuration looks like:
 
-events {
-        worker_connections 768;
-        # multi_accept on;
+```python
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': 'db.sqlite3',
+    }
 }
-http {
-        sendfile on;
-        tcp_nopush on;
-        tcp_nodelay on;
-        keepalive_timeout 65;
-        types_hash_max_size 2048;
-
-        include /etc/nginx/mime.types;
-        default_type application/octet-stream;
-
-        ##
-        # SSL Settings
-        ##
-
-        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
-        ssl_prefer_server_ciphers on;
-
-        ##
-        # Logging Settings
-        ##
-
-        access_log /var/log/nginx/access.log;
-        error_log /var/log/nginx/error.log;
-
-        ##
-        # Gzip Settings
-        ##
-
-        gzip on;
-        gzip_disable "msie6";
+```
 
-        include /etc/nginx/conf.d/*.conf;
-        include /etc/nginx/sites-enabled/*;
+- postgresql database configuration looks like:
+
+```python
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.postgresql_psycopg2',
+        'NAME': 'smaschdb',
+        'USER': 'smaschuser',
+        'PASSWORD': 'smaschpassword',
+        'HOST': 'localhost',
+        'PORT': '',
+        'TEST': {
+            'NAME': 'dbtest',
+        },
+    }
 }
 ```
 
-### /etc/nginx/sites-enabled/default
+After database connection is configured setup a database by applying migration scripts and create admin user
 
+```bash
+./manage.py migrate
+./manage.py superworker -u admin -e test@test.lu -f John -l Doe
 ```
-upstream app_server {
-    # fail_timeout=0 means we always retry an upstream even if it failed
-    # to return a good HTTP response
-
-    # for UNIX domain socket setups
-    server unix:/run/gunicorn/socket fail_timeout=0;
-
-    # for a TCP configuration
-    # server 192.168.0.7:8000 fail_timeout=0;
-}
-
-server {
-        listen 80 default_server;
-        listen [::]:80 default_server;
-
-        listen 443 ssl;
 
+## Development    
+Remember, that before working you have to activate _virtualenv_ (in project directory), by:
 
-        root /var/www/html;
+```bash
+. env/bin/activate
+```
 
-        # Add index.php to the list if you are using PHP
-        index index.html index.htm index.nginx-debian.html;
+In order to run development server, run:
 
-        server_name prc.parkinson.lu;
+```bash
+cd smash
+./manage.py runserver
+```
+and go to `127.0.0.1:8000` in browser
 
-        ssl_certificate /etc/nginx/ssl/nginx.crt;
-        ssl_certificate_key /etc/nginx/ssl/nginx.key;
+### Mac Developers
 
+In case of problems with the openssl version installed on the system:
 
-        #configuration for static and media files hosted by nginx
-        location /media/ {
-                root /var/www/scheduling-system-files;
-        }
+```
+export PYCURL_SSL_LIBRARY=openssl
+pip install pycurl --global-option=build_ext --global-option="-I/usr/local/Cellar/openssl/1.0.2k/include" --global-option="-L/usr/local/Cellar/openssl/1.0.2k/lib" --upgrade
+pip install psycopg2 --global-option=build_ext --global-option="-I/usr/local/Cellar/openssl/1.0.2k/include" --global-option="-L/usr/local/Cellar/openssl/1.0.2k/lib" --upgrade
+```
 
-        location /static/ {
-                root /var/www/scheduling-system-files;
-        }
+## Production deployment
+Smasch can be deployed using debian package provided in lcsb repository:
 
+```bash
+echo "deb http://repo-r3lab.uni.lu/debian/ stable main" | tee /etc/apt/sources.list.d/repo-r3lab.list
+sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xcb185f4e31872412
+apt-get update
+apt-get install -y smasch
+```
 
-        location / {
-              # checks for static file, if not found proxy to app
-              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-              # enable this if and only if you use HTTPS
-              # proxy_set_header X-Forwarded-Proto https;
-              proxy_set_header Host $http_host;
-              # we don't want nginx trying to do something clever with
-              # redirects, we set the Host: header above already.
-              proxy_redirect off;
-              proxy_pass http://app_server;
-    }
+After smasch is installed you can start/stop it using systemd:
 
-}
+```bash
+service smasch start
+service smasch stop
 ```
-  - extract static files and make them available via nginx: `./manage.py collectstatic`
-  - you start application by starting gunicorn and nginx: `service gunicorn start`, `service nginx start`
 
-## Cron jobs (weekly emails)
+Smasch service will be listening on port 8888 - go to http://localhost:8888/. By default smasch will use sqlite3 database.
 
-If weekly emails are required then cron must be edited to fire periodically django function that send emails.
+Configuration of smasch (`local_settings.py`) is in `/etc/smasch/smasch.py`.
 
-```
-> crontab -e
-SHELL=/bin/bash
-*/30 * * * * source /var/www/scheduling-system/env/bin/activate && python /var/www/scheduling-system/smash/manage.py runcrons >> /var/log/django-cronjob.log 2>&1
-```
 
 ## Operations
 
 ### Disable two steps authentication for a specific user
 
 
-```
+```bash
 ./manage.py two_factor_disable ${USERNAME}
 ```
 
@@ -228,7 +151,7 @@ SHELL=/bin/bash
 
 to import public holidays run:
 
-```
+```bash
 ./manage.py holidays ${YEARS}
 ```
 
@@ -236,6 +159,6 @@ where ${YEARS} should be a space separated list of years for which the holidays
 
 example:
 
-```
+```bash
 ./manage.py holidays 2017 2018 2019
 ```