diff --git a/AUTHORS.md b/AUTHORS.md
new file mode 100644
index 0000000000000000000000000000000000000000..aca25898d44f5d2f72ea8f018f54546197c301e1
--- /dev/null
+++ b/AUTHORS.md
@@ -0,0 +1,24 @@
+AUTHORS
+============
+
+VF has been developed essentially over the last fifteen years by various researchers at IRMB including (in alphabetical order):
+
+
+Dr. Benjamin Ahrenholz  
+M. Sc. Hussein Alihussein  
+Dr. Sebastian Bindick  
+J.Prof. Dr. Martin Geier  
+Dr. Sebastian Geller  
+Dr. Ehsan Goraki Fard  
+Dr. Jan Hegewald  
+Dr. Christian Janßen  
+M. Sc. Konstantin Kutscher  
+M. Sc. Stephan Lenz  
+Dr. Jan Linxweiler  
+M. Sc. Sören Peters  
+Dr. Hesameddin Safari  
+Dr. Martin Schönherr  
+Dipl.-Ing. Maik Stiebler  
+Dr. Sören Textor (aka Freudiger)  
+PD Dr. Jonas Tölke  
+Dr. Sonja Uphoff  
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 810f2c022ef9ac884986098e72f58d8542aa83df..b1cb33e7c86fdf9f4bd1acc538911f9980daeadf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,11 +9,7 @@
 #  required cmake versions
 #  CMAKE 3.9: CUDA support
 #################################################################################
-cmake_minimum_required(VERSION 3.9..3.17 FATAL_ERROR)
-
-if(${CMAKE_VERSION} VERSION_LESS 3.12)
-    cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
-endif()
+cmake_minimum_required(VERSION 3.13..3.17 FATAL_ERROR)
 
 project(VirtualFluids CXX)
 
@@ -31,7 +27,7 @@ set(thirdFolder   "3rd")
 #################################################################################
 option(BUILD_VF_CPU "Build VirtualFluids cpu variant" OFF)
 option(BUILD_VF_GPU "Build VirtualFluids gpu variant" OFF)
-option(BUILD_VF_UNIT_TESTS "Build VirtualFluids unit tests" ON)
+option(BUILD_VF_UNIT_TESTS "Build VirtualFluids unit tests" OFF)
 
 option(BUILD_SHARED_LIBS "" ON)
 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..54a3e307b64c14de7f540ca1e04209e7624465b8
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,25 @@
+Contributing
+============
+If you want to contribute to VirtualFluids, your help is very welcome.
+To contribute use a pull request as follows:
+
+### How to make a clean pull request
+
+- Create a personal fork of VirtualFluids.
+- Clone the fork on your local machine. Your remote repo on gitea is called `origin`.
+- Add the original repository as a remote called `upstream`.
+- If you created your fork a while ago be sure to pull upstream changes into your local repository.
+- Create a new branch to work on! Branch from `develop` or `open_source`.
+- Implement/fix your feature, comment your code.
+- Follow the code style of the project, including indentation.
+- Run the tests.
+- Write or adapt tests as needed.
+- Add or change the documentation as needed.
+- Push your branch to your fork on gitea, the remote `origin`.
+- From your fork open a pull request in the correct branch. Target the project's `develop` or `open_source` branch
+- …
+- If we requests further changes just push them to your branch. The PR will be updated automatically.
+- Once the pull request is approved and merged you can pull the changes from `upstream` to your local repo and delete
+your extra branch(es).
+
+And last but not least: Always write your commit messages in the present tense. Your commit message should describe what the commit, when applied, does to the code – not what you did to the code.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..615e4d758e95b4b556efee9f9487beaf08d90d21
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+![VirtualFluids](docs/img/VF_logo.png)
+
+VirtualFluids (VF) is a research code developed at the Institute for Computational Modeling in Civil Engineering (iRMB). The code is a Computational Fluid Dynamics (CFD) solver based on the Lattice Boltzmann Method (LBM) for turbulent, thermal, multiphase and multicomponent flow problems as well as for multi-field problems such as Fluid-Structure-interaction including distributed pre- and postprocessing capabilities for simulations with more than 100 billion degrees of freedom.
+
+## Getting Start
+### Suported Platforms
+VirtualFluids has been used on a variety of platforms:
+ - Linux
+ - Mac OS X
+ - Windows
+ - Cygwin
+### Software Requirements
+ 
+ - [CMake](https://cmake.org/) (minimum version 3.13)
+ - C++ compiler with C++11 support, for example gcc 6.3 or Visual C++ 14.0
+ - [Paraview](https://www.paraview.org/) (most recent version)
+
+with usage of the GPU:  
+ - CUDA [developer.nvidia.com/cuda-zone](https://developer.nvidia.com/cuda-zone):
+    * Minimum CUDA Version 9.0
+    * Minimum Compute Capability 3.0, because of maximal number of Blocks in x direction
+    * Recommended Compute Capability 6.0, because of atomics for double precision floating point data (GKS only)
+    
+
+### Contributing
+To contribute to VirtualFluids please follow these [instructions](CONTRIBUTING.md).
+
+### Build VirtualFluids
+```shell
+$ mkdir build
+$ cd build
+```
+Pass the relevant [options](#options) to cmake.
+E.g. for the CPU part:
+```shell
+$ cmake .. -DBUILD_VF_CPU=ON
+$ make
+```
+Alternatively enable the options via the cmake-gui.
+
+### <a id="options"></a> Options
+- BUILD_VF_CPU
+  - Build VirtualFluids CPU variant
+- BUILD_VF_GPU 
+  - Build VirtualFluids GPU variant
+- BUILD_VF_UNIT_TESTS
+  -  Build VirtualFluids unit tests
+- VF_DOUBLE_ACCURACY 
+    - GPU change between Double and Single Precision
+
+### Result Files
+The output files can be found in `<build directory>/bin/output`. As there is an usually high amount of data, you might want to change the output path in the main function.
+
+The CPU part generates a set of multiple output directories in the prescribed output path. The flow fields can be found in the _mq_ directory. To view the flow fields, it is most conveniant to open the _mq_collection.pvd_ file in Paraview. The _bc_ directory contains the boundary condition information, the _geo_ directory contains information on the geometry of the flow domain and the _blocks_ directory contains the block grid.
+
+A GPU computation generates a the time series of output files directly in the output path. In Paraview these time series can be read directly.
+
+
+
+## Documentation
+The doxygen generated documentation can be found [here](https://git.irmb.bau.tu-bs.de/doku/CPU).
+
+
+## Known Issues
+If CMake does not find CUDA_CUT_INCLUDE_DIR use and set the correct CUDA Pathes in gpu.cmake in the base directory in lines 35, 36.
+
+If you notice any problems on your platform, please report an gitea issue. 
+
+
+## Authors
+A list of the developers of VirtualFluids is available [here](AUTHORS.md).
diff --git a/docs/img/VF_logo.png b/docs/img/VF_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..d43e183e5988d7c5c521114fdf3204e07413f91a
Binary files /dev/null and b/docs/img/VF_logo.png differ
diff --git a/readme.md b/readme.md
deleted file mode 100644
index 1531494820a83fb71da2f9a8e05c0c852c30a48d..0000000000000000000000000000000000000000
--- a/readme.md
+++ /dev/null
@@ -1,41 +0,0 @@
-Software Requirements:
-======================
-
-CMake [cmake.org](https://cmake.org/):
-* minimum version 3.13
-    
-Paraview [www.paraview.org](https://www.paraview.org/):
-* any version, for example the most recent
-    
-C++ Compiler:
-* with C++11 support, for example gcc6.3 or Visual C++ 14.0
-    
-How to get VirtualFluidsCPU:
-==========================
-
-Option 1: use git
-1. checkout out https://git.irmb.bau.tu-bs.de/VirtualFluids/VirtualFluidsCPU.git with your credentials
-
-Option 2: without git
-1. go to git.irmb.tu-bs.de
-2. Log in with your credentials
-3. click on VirtualFluids/VirtualFluidsCPU
-4. click on the download symbol on the top right and download zip/tar.gz file
-
-How to build VirtualFluidsCPU:
-============================
-
-1. CMake the project
-2. set the output path in Applications/LidDrivenCavity/LidDrivenCavity.cpp
-3. build the project ("compile")
-4. run the generated executable (usually in <build directory>/Applications/LidDrivenCavity)
-
-VirtualFluidsCPU results files:
-===============================
-
-VirtualFluidsCPU generates a set of multiple output directories in the prescribed output path. The flow fields can be found in the _mq_ directory. To view the flow fields, it is most conveniant to open the _mq_collection.pvd_ file in Paraview. The _bc_ directory contains the boundary condition information, the _geo_ directory contains information on the geometry of the flow domain and the _blocks_ directory contains the block grid.
-
-Documentation:
-==============
-
-The doxygen generated documentation can be found [here](https://git.irmb.bau.tu-bs.de/doku/CPU).
diff --git a/src/basics/basics/utilities/UbSystem.h b/src/basics/basics/utilities/UbSystem.h
index 797140a081bb96f2089db7d97db54cc2093565ef..ec24454808c776df22499c3851b1c89343f6bd1d 100644
--- a/src/basics/basics/utilities/UbSystem.h
+++ b/src/basics/basics/utilities/UbSystem.h
@@ -44,6 +44,12 @@
 #endif
 
 
+#if defined(__unix__) && defined(__CYGWIN__)
+   #define UBSYSTEM_CYGWIN
+   #include <windows.h>
+#elif defined(__unix__)
+    #include <sys/syscall.h>
+#endif
 
 #if defined(min) || defined(max) //daruch kann man sich spaeter #undef min; #undef max erparen
 #   error add NOMINMAX to preprocessor defines