diff --git a/README.md b/README.md
index 42d6862e68285f06c53dcf0e847fce9b8c2d845e..852ccd58ce4060136e9c1fa140c9f3b7a0f51b80 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,8 @@
 
 ## Overview
 
-GRACETOOLS is an archive of MATLAB software that can be used for gravity field recovery using GRACE type satellite observations.
+GRACETOOLS is an archive of MATLAB software that can be used for gravity field
+recovery using GRACE type satellite observations.
 
 **Features**
 
@@ -15,15 +16,40 @@ GRACETOOLS is an archive of MATLAB software that can be used for gravity field r
 
 ## Content
 
-- [Usage](#usage)
-- [Features](#features)
-- [Files](#files)
-- [Acknowledgments](#acknowledgments)
-- [Contributors](#contributors)
+<!-- vim-markdown-toc GitLab -->
+
+* [Usage](#usage)
+    * [Example dataset](#example-dataset)
+        * [Linux & Mac](#linux-mac)
+        * [Manually](#manually)
+* [Performance](#performance)
+* [Files](#files)
+* [Acknowledgments](#acknowledgments)
+* [Contributors](#contributors)
+
+<!-- vim-markdown-toc -->
 
 ## Usage
 
-To be able to run the program download the following dataset:
+The main m-files to run are: `gfr_parallel.m` and
+`continue_gfr_par_from_iteration.m`.
+
+### Example dataset
+
+To be able to run these scripts you need an example data-set.
+
+#### Linux & Mac
+
+If you're working with Linux or MacOS simply use the `get_input_data.sh` script
+to get the dataset:
+
+```
+$ ./get_input_data.sh
+```
+
+#### Manually
+
+Download the following dataset:
 
 - [Download dataset](https://seafile.projekt.uni-hannover.de/f/3ee8fef6c6cb485489b4/?dl=1)
 
@@ -70,7 +96,11 @@ input_data
 └── GGM05S.gfc
 ```
 
-The main m-files to run are: `gfr_parallel.m` and `continue_gfr_par_from_iteration.m`.
+
+## Performance
+
+With an older intel i5 (4 cores) a test case with degree and order 10 with 4
+days of observation, each iteration takes about 1h 10min.
 
 ## Files
 
@@ -98,6 +128,7 @@ The main m-files to run are: `gfr_parallel.m` and `continue_gfr_par_from_iterati
 | `plm.m`                         | fully normalized associated Legendre functions for a selected order M.                                                |
 | `plmsp.m`                       | fully normalized associated Legendre functions for all degree and order but in a single points.                       |
 | `readACC.m`                     | Read GRACE ACC1B data                                                                                                 |
+| `readGFC.m`                     | Read gfc files                                                                                                        |
 | `readGNV.m`                     | Read GRACE GNV1B data                                                                                                 |
 | `readKBR.m`                     | Read GRACE KBR1B data                                                                                                 |
 | `readSCA.m`                     | Read GRACE SCA1B data                                                                                                 |
@@ -110,7 +141,10 @@ The main m-files to run are: `gfr_parallel.m` and `continue_gfr_par_from_iterati
 
 - GRACETOOLS is open source software (LICENSE GPLv3).
 - Please reference this article if you use GRACETOOLS:
-- Darbeheshti N., Wöske F., Weigelt M., Mccullough C., Wu H. (2018) GRACETOOLS - GRACE gravity field recovery tools, Geosciences.
+
+```
+Darbeheshti N., Wöske F., Weigelt M., Mccullough C., Wu H. (2018) GRACETOOLS - GRACE gravity field recovery tools, Geosciences.
+```
 
 ## Contributors
 
diff --git a/continue_gfr_par_from_iteration.m b/continue_gfr_par_from_iteration.m
index f116eddb9f3c23520fc399bdc4d3295d901ae152..0d559f51403bb29cb1de841ae95610fe6d184d39 100644
--- a/continue_gfr_par_from_iteration.m
+++ b/continue_gfr_par_from_iteration.m
@@ -45,7 +45,7 @@ ItrNo_max = 12;
 
 % add folder name containing functions and input data (observations, ref.
 % field, initial values...)
-DataFolder='/home/woeske/Matlab/GFR/input_data';
+DataFolder='input_data';
 addpath(genpath(DataFolder));
 
 %% load data from previous iteration
diff --git a/get_input_data.sh b/get_input_data.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1d637ccf7d1680bb1ed945d67dc2ea07b89eb08d
--- /dev/null
+++ b/get_input_data.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+URL="https://seafile.projekt.uni-hannover.de/f/3ee8fef6c6cb485489b4/?dl=1"
+INPUT_DATA=input_data.zip
+
+downloadData(){
+    echo "Downloading data from $URL..."
+    wget --content-disposition "url?raw=1" -U mozilla "$URL" -O $INPUT_DATA
+    echo "Done."
+}
+
+
+setUp(){
+    echo "Start extracting data file..."
+    unzip $INPUT_DATA -d input_data/
+    echo "Done."
+    echo "Removing zip file"
+    rm -f input_data.zip
+    echo "Done."
+}
+
+cleanUp(){
+    echo "Removing subdirectories from input directory."
+    rm -rf input_data/*
+    echo "Done."
+    echo "Removing files from input directory."
+    rm -f input_data/*
+    echo "Done."
+}
+
+getData(){
+    if [[ -d input_data/ ]]; then
+        echo "Directory 'input_data/' already exists."
+        if [[ -f input_data/EGM96.gfc ]]; then
+            echo "There is already data in it."
+            read -r -p "Cleanup and download again? [y/N]" response
+            case $response in
+                [yY][eE][sS]|[yY])
+                    cleanUp
+                    downloadData
+                    setUp
+                    ;;
+                *)
+                    echo "Aborting."
+                    exit
+                    ;;
+            esac
+        else
+            downloadData
+            setUp
+        fi
+    else
+        downloadData
+        setUp
+    fi
+}
+
+
+main(){
+    getData
+}
+
+main