diff --git a/CMakeLists.txt b/CMakeLists.txt
index 863857362494433ffcd3f80d3a4f2539b7048d53..2011f0e8830ca29c5577d4482c2b07c39651f555 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -273,6 +273,11 @@ install(EXPORT BFPS_EXPORT DESTINATION lib/)
 #####################################################################################
 ## Install the python wrapper
 # copy command
+if(EXISTS "${PROJECT_SOURCE_DIR}/host_info.py")
+    install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/host_info.py ${PROJECT_BINARY_DIR}/python/bfps/)")
+else()
+    install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/pc_host_info.py ${PROJECT_BINARY_DIR}/python/bfps/host_info.py)")
+endif()
 install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/bfps ${PROJECT_BINARY_DIR}/python/bfps/)")
 install(CODE "execute_process(COMMAND python ${PROJECT_SOURCE_DIR}/setup.py install --force --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/python/)")
 
diff --git a/CMakeLists_packages.txt b/CMakeLists_packages.txt
deleted file mode 100644
index 17a1099ce1aeb4dc6cd450c271f802fdb45a137d..0000000000000000000000000000000000000000
--- a/CMakeLists_packages.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-# vim: syntax=cmake
-
-#cmake_policy(SET CMP0074 NEW)
-
-set(MPI_STATIC ON)
-find_package(MPI REQUIRED)
-
-set(HDF5_STATIC ON)
-find_package(HDF5 REQUIRED)
-
-###############################################################################
-# ugly manual setting for HDF5
-if(NOT DEFINED HDF5_INCLUDE_PATH)
-    set(HDF5_INCLUDE_PATH "$ENV{HDF5_ROOT}/include")
-endif()
-###############################################################################
-
-###############################################################################
-# ugly manual settings for FFTW.
-set(FFTW_STATIC ON)
-if (NOT DEFINED ENV{FFTW_BASE})
-    message(FATAL_ERROR "Required FFTW_BASE environment variable is not defined.")
-endif()
-set(FFTW_INCLUDE_FLAGS
-    "$ENV{FFTW_BASE}/include"
-    )
-if (NOT DEFINED ENV{FFTW_LIB})
-    message(FATAL_ERROR "Required FFTW_LIB environment variable is not defined.")
-endif()
-if (NOT DEFINED ENV{FFTW_OPENMP_LIB})
-    message(FATAL_ERROR "Required FFTW_OPENMP_LIB environment variable is not defined.")
-endif()
-set(FFTW_LINK_FLAGS
-    "$ENV{FFTW_OPENMP_LIB} $ENV{FFTW_LIB}"
-    )
-###############################################################################
-
-###############################################################################
-# ugly manual settings for SZIP.
-# needed for non-gcc environments.
-if(DEFINED env{SZIP_LIB})
-    set(SZIP_LINK_FLAGS
-        "$env{SZIP_LIB} -lz")
-else()
-    set(SZIP_LINK_FLAGS
-        "")
-endif()
-###############################################################################
-
-include_directories(
-    ${MPI_INCLUDE_PATH}
-    ${HDF5_INCLUDE_PATH}
-    ${FFTW_INCLUDE_PATH}
-    )
-
-set(CMAKE_CXX_COMPILE_FLAGS
-    ${CMAKE_CXX_COMPILE_FLAGS}
-    "-Wall -std=c++11 -fopenmp"
-    )
-set(CMAKE_CXX_COMPILE_FLAGS
-    ${CMAKE_CXX_COMPILE_FLAGS}
-    ${HDF5_COMPILE_FLAGS}
-    ${MPI_COMPILE_FLAGS}
-    )
-set(CMAKE_CXX_LINK_FLAGS
-    ${MPI_LINK_FLAGS}
-    ${HDF5_LINK_FLAGS}
-    ${FFTW_LINK_FLAGS}
-    ${CMAKE_CXX_LINK_FLAGS}
-    )
-
diff --git a/bfps/DNS.py b/bfps/DNS.py
index e0d83cafa04313d7aeb2009858d4caa42811733e..4388a2929a7a3cb0d467f9c9666c2258f8e03ee7 100644
--- a/bfps/DNS.py
+++ b/bfps/DNS.py
@@ -50,12 +50,6 @@ class DNS(_code):
                 self,
                 work_dir = work_dir,
                 simname = simname)
-        self.host_info = {'type'        : 'cluster',
-                          'environment' : None,
-                          'deltanprocs' : 1,
-                          'queue'       : '',
-                          'mail_address': '',
-                          'mail_events' : None}
         self.generate_default_parameters()
         self.statistics = {}
         return None
diff --git a/bfps/PP.py b/bfps/PP.py
index 77bf9d6c7fe7e56e6a34954100ff512551cf130f..4a8cff4bc36451a9e923b5610b9c783d1672b9d6 100644
--- a/bfps/PP.py
+++ b/bfps/PP.py
@@ -51,12 +51,6 @@ class PP(_code):
                 self,
                 work_dir = work_dir,
                 simname = simname)
-        self.host_info = {'type'        : 'cluster',
-                          'environment' : None,
-                          'deltanprocs' : 1,
-                          'queue'       : '',
-                          'mail_address': '',
-                          'mail_events' : None}
         self.generate_default_parameters()
         return None
     def set_precision(
diff --git a/bfps/TEST.py b/bfps/TEST.py
index 66b2b4aad6b308c78735005f55765bfa3d3eb98c..80adf39f522417f43326339fe2d1b97c1e102d97 100644
--- a/bfps/TEST.py
+++ b/bfps/TEST.py
@@ -51,12 +51,6 @@ class TEST(_code):
                 self,
                 work_dir = work_dir,
                 simname = simname)
-        self.host_info = {'type'        : 'cluster',
-                          'environment' : None,
-                          'deltanprocs' : 1,
-                          'queue'       : '',
-                          'mail_address': '',
-                          'mail_events' : None}
         self.generate_default_parameters()
         return None
     def set_precision(
diff --git a/bfps/_code.py b/bfps/_code.py
index f06e7198da822319203ed9746cdecb9f35b10ca0..ee196fe76648a81f7552845f00ca353381484c10 100644
--- a/bfps/_code.py
+++ b/bfps/_code.py
@@ -1,7 +1,7 @@
 #######################################################################
 #                                                                     #
-#  Copyright 2015 Max Planck Institute                                #
-#                 for Dynamics and Self-Organization                  #
+#  Copyright 2015-2019 Max Planck Institute                           #
+#                      for Dynamics and Self-Organization             #
 #                                                                     #
 #  This file is part of bfps.                                         #
 #                                                                     #
@@ -35,6 +35,7 @@ import math
 import warnings
 
 import bfps
+from bfps.host_info import host_info
 from ._base import _base
 
 class _code(_base):
@@ -174,12 +175,7 @@ class _code(_base):
                 }
                 //endcpp
                 """
-        self.host_info = {'type'        : 'cluster',
-                          'environment' : None,
-                          'deltanprocs' : 1,
-                          'queue'       : '',
-                          'mail_address': '',
-                          'mail_events' : None}
+        self.host_info = host_info
         self.main = ''
         return None
     def write_src(self):
diff --git a/setup.py b/setup.py
index 925f6521ac5fcd2a943c70cad4c9ce13a9893150..c9a8b70b61a94cc0201e4cc24e72f4a338c89e46 100644
--- a/setup.py
+++ b/setup.py
@@ -34,37 +34,12 @@ import sys
 import subprocess
 import pickle
 
-
-### compiler configuration
-# check if .config/bfps/machine_settings.py file exists, create it if not
-homefolder = os.path.expanduser('~')
-bfpsfolder = os.path.join(homefolder, '.config', 'bfps')
-if not os.path.exists(os.path.join(bfpsfolder, 'machine_settings.py')):
-    if not os.path.isdir(bfpsfolder):
-        os.mkdir(bfpsfolder)
-    shutil.copyfile('./machine_settings_py.py', os.path.join(bfpsfolder, 'machine_settings.py'))
-# check if .config/bfps/host_information.py file exists, create it if not
-if not os.path.exists(os.path.join(bfpsfolder, 'host_information.py')):
-    if not os.path.isdir(bfpsfolder):
-        os.mkdir(bfpsfolder)
-    open(os.path.join(bfpsfolder, 'host_information.py'),
-         'w').write('host_info = {\'type\' : \'none\'}\n')
-    shutil.copyfile('./machine_settings_py.py', os.path.join(bfpsfolder, 'machine_settings.py'))
-sys.path.insert(0, bfpsfolder)
-# import stuff required for compilation of static library
-from machine_settings import compiler, include_dirs, library_dirs, extra_compile_args, extra_libraries
-
-
 ### package versioning
 import get_version
 VERSION = get_version.main()
 print('This is bfps version ' + VERSION)
 
 
-### libraries
-libraries = extra_libraries
-
-
 import distutils.cmd
 
 class CompileLibCommand(distutils.cmd.Command):
@@ -90,12 +65,7 @@ class CompileLibCommand(distutils.cmd.Command):
     def run(self):
         ### save compiling information
         pickle.dump(
-                {'include_dirs' : include_dirs,
-                 'library_dirs' : library_dirs,
-                 'compiler'     : compiler,
-                 'extra_compile_args' : eca,
-                 'libraries' : libraries,
-                 'install_date' : now,
+                {'install_date' : now,
                  'VERSION' : VERSION,
                  'git_revision' : git_revision},
                 open('bfps/install_info.pickle', 'wb'),