diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 90a6ac6a0d1c155b2af273c989091dec8525159e..5a3f4872394a6c1efed85678e7aef86ce8bc66e5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,9 +2,8 @@ image: ubuntu:18.04
 
 stages:
   - build
-  - test
 
-build:
+ubuntu-build:
   stage: build
 
   before_script:
@@ -20,12 +19,30 @@ build:
     paths:
       - ./src/main
 
-test:
+ubuntu-test:
   stage: test
   needs:
     - build
-  script:
+
+  before_script:
     - apt-get update -qq && apt-get install -y -qq libnetcdff* netcdf-bin
+
+  script:
     - ./src/main
     - test -f pres_temp_4D.nc
     - ncdump -h pres_temp_4D.nc
+
+jet-build:
+  image: almalinux:8.5
+  stage: build
+  when: never
+
+  before_script:
+    - dnf install -yq netcdf-fortran-devel.x86_64 eccodes-devel.x86_64 netcdf.x86_64
+  
+  script:
+    - export FC=gfortran
+    - export LIBRARY_PATH=/usr/lib64
+    - export INCLUDE=/usr/include
+    - make -C src
+
diff --git a/README.md b/README.md
index e1487386c40b4d0c4311c3dfbbd376f0247f152c..601d9b6dbae3f250e00138b9e98640c9e5acebb9 100644
--- a/README.md
+++ b/README.md
@@ -2,17 +2,73 @@
 
 Example of Continuous Integration in Gitlab + Gitlab Runner @ IMGW
 
+## Fortran
 
-## Contributing
+We add a src directory with some fortran netcdf code inside from [ucar unidata](https://www.unidata.ucar.edu/software/netcdf/examples/programs/).
 
-Please write an email to the [service desk](mailto:gitlab.phaidra+flexpart-example-ci-817-issue-@univie.ac.at) and an issue will be created. This does not require an account on GitLab!
+files:
+ - src/Makefile
+ - src/main.f90
 
+## Makefile
 
-## Authors and acknowledgment
-Show your appreciation to those who have contributed to the project.
+In order to build the application we need to define a Makefile with some special things:
 
-## License
-For open source projects, say how it is licensed.
+```makefile
+# use the environmental variable $INCLUDE
+# split the paths separated by :
+INC = $(subst :, ,$(INCLUDE))
+# add a -I/path/to/include
+INC := $(INC:%=-I%)
+# use the environmental variable $LIBRARY_PATH
+LIBS = $(subst :, ,$(LIBRARY_PATH))
+LIBS := $(LIBS:%=-L%)
+```
+that allow to read environmental flags for include and library path. the next part is just to compile all sources to objects and link the application:
 
-## Project status
-If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
+```makefile
+# build main from main.o using netcdf library
+main: main.o
+	${FC} $< $(INC) $(LIBS) -lnetcdff -o $@
+	
+# build source files to objects with include paths
+%.o %.mod %.smod: %.f90
+	${FC} ${INC} -c -o $*.o $<
+```
+
+## Gitlab-CI
+
+The gitlab-ci (continous integration) allows to define some jobs. Every jobs runs on its own, but you can use artifacts or cache to transfer files between jobs.
+
+We can setup a default image to start off and install some necessary libraries for building the application.
+
+```yaml
+image: ubuntu:18.04
+
+stages:
+  - build
+
+build-ubuntu:
+  stage: build
+
+  before_script:
+    - apt-get update -qq && apt-get install -y -qq gfortran libnetcdf-dev libnetcdff-dev libeccodes-dev netcdf-bin
+
+  script:
+    - export FC=gfortran
+    - export LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu
+    - export INCLUDE=/usr/include
+    - make -C src
+  
+  artifacts:
+    paths:
+      - ./src/main
+```
+
+We use the package manager and install the libraries, which you need to find out what names they have, use a site like [pkgs.org](https://pkgs.org) to find out what libraries contains whcih files and versions, so that you can build your container as you need.
+
+Here we use the an LTS ubuntu container with some older version that are provides via the package manager. At a later stage we can build images that have the exact same versions as on some HPC centers.
+
+We need to give some relevant paths to the MAkefile in order to link the netcdf library to our application.
+
+Then we can run our first pipeline and see if everything works.
diff --git a/src/Makefile b/src/Makefile
index 059becde52ec93e76e4703a634f72686a9219b60..2bda197a7e5cbfba178598f55a63f7e4fd7d06ad 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -11,6 +11,7 @@ all: clean main
 
 main: main.o
 	${FC} $< $(INC) $(LIBS) -lnetcdff -o $@
+	
 %.o %.mod %.smod: %.f90
 	${FC} ${INC} -c -o $*.o $<