diff --git a/CMakeLists.txt b/CMakeLists.txt
index 222af7a59d6a8934a49e1f34040551024852b8a6..d7de665f0270d529e3089323f9d26fcf84626ea0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@
 # -DCMAKE_BUILD_TYPE:STRING=Debug (default Release)
 # -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON (default OFF)
 # -DBUILD_TESTING=ON (default OFF)
+# MARK_AS_ADVANCED (BUILD_TESTING CMAKE_BUILD_TYPE=Debug)
+
 #--------------------------------------------------------------------------
 
 
@@ -58,11 +60,16 @@ message( STATUS "JPSVIS_VERSION: " ${JPSVIS_VERSION} )
 INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} )
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
 set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(README_FILE "${CMAKE_SOURCE_DIR}/README.md")
+if(APPLE AND CMAKE_INSTALL_PREFIX MATCHES "/usr/local")
+	set(CMAKE_INSTALL_PREFIX "/Applications")
+endif()
+message(STATUS "${PROJECT_NAME} will be installed to ${CMAKE_INSTALL_PREFIX}")
 
 # these files compile need Cocoa (evtl. Mac specific)
 SET(MAC_FIX_SRC src/fix/osx_thread_fix.mm) #.mm
 SET(MAC_FIX_HDR src/fix/osx_thread_fix.h) #.h
-set( SAMPLE_SRCS
+set( SRCS
   # src/fix/osx_thread_fix.mm
   src/geometry/Building.cpp 
   src/geometry/Crossing.cpp 
@@ -109,7 +116,7 @@ set( SAMPLE_SRCS
   forms/jpsvis.rc
   )  
 # all header files that should be treated with moc
-set( SAMPLE_HDR
+set( HDR
   # src/fix/osx_thread_fix.h
   src/geometry/Building.h
   src/geometry/Crossing.h
@@ -154,24 +161,25 @@ set( SAMPLE_HDR
   src/MainWindow.h
   src/TrailPlotter.h
   ) 
- IF(APPLE)
-  SET(SAMPLE_SRCS ${SAMPLE_SRCS} ${MAC_FIX_SRC})
-  SET(SAMPLE_HDR ${SAMPLE_HDR} ${MAC_FIX_HDR})
+IF(APPLE)
+  SET(SRCS ${SRCS} ${MAC_FIX_SRC})
+  SET(HDR ${HDR} ${MAC_FIX_HDR})
 ENDIF(APPLE)
 
 
 
 # *.ui files
-set( SAMPLE_UIS
+set( UIS
   forms/settings.ui
   forms/mainwindow.ui  
   )
 
 # and finally a resource file
-set( SAMPLE_RCS
+set( RCS
   forms/icons.qrc
   )
 
+
 #set(VTK_USE_HYBRID ON CACHE BOOL "doc" FORCE)
 find_package(VTK REQUIRED)
 
@@ -199,68 +207,172 @@ IF (WIN32)
 ENDIF (WIN32)
 
 #--------------- here comes QT. Version problem (4 or 5?)
-#FIND_PACKAGE( Qt4 REQUIRED )
-#FIND_PACKAGE(QT REQUIRED)
-
-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake  REQUIRED)
-FIND_PACKAGE(Qt COMPONENTS QtXml QT_USE_QTNETWORK QtXmlPatterns REQUIRED)
-
+# cmake does not provide findqt5-modules
+
+
+#=================================================== Qt4
+# FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake  REQUIRED)
+# FIND_PACKAGE(Qt COMPONENTS QtXml QT_USE_QTNETWORK QtXmlPatterns REQUIRED)
+
+# if("${DESIRED_QT_VERSION}" STREQUAL "")
+#   set(DESIRED_QT_VERSION "4")
+# endif()
+
+# if( ${DESIRED_QT_VERSION} VERSION_GREATER "4" OR ${DESIRED_QT_VERSION} VERSION_LESS "3")
+#   message(WARNING "QT version: " ${DESIRED_QT_VERSION} " not supported")
+# endif()
+
+# message(STATUS "DESIRED_QT_VERSION " ${DESIRED_QT_VERSION})
+# message(STATUS "QT5_INSTALLED: " ${QT5_INSTALLED})
+# message(STATUS "QT4_INSTALLED: " ${QT4_INSTALLED})
+# message(STATUS "QT3_INSTALLED: " ${QT3_INSTALLED})
+
+# # by default only QtCore and QtGui modules are enabled
+# # other modules must be enabled like this:
+# set(QT_USE_QTXML TRUE)  # needed!
+# set(QT_USE_QTNETWORK TRUE)
+
+# # this command will generate rules that will run rcc on all files from SAMPLE_RCS
+# # in result SAMPLE_RC_SRCS variable will contain paths to files produced by rcc
+# if( ${QT4_INSTALLED} )
+#   message(STATUS "Working with Qt4")
+#   QT4_ADD_RESOURCES( SAMPLE_RC_SRCS ${SAMPLE_RCS} )
+#   # and finally this will run moc:
+#   QT4_WRAP_CPP( SAMPLE_MOC_HDRS ${SAMPLE_MOC_HDRS} )
+#   # this will run uic on .ui files:
+#   QT4_WRAP_UI( SAMPLE_UI_HDRS ${SAMPLE_UIS} )
+#  # QT4_ADD_RESOURCES(SAMPLE_RESOURCES_RCS ${SAMPLE_RCS})
+#   # add some useful macros and variables
+#   # (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
+#   include( ${QT_USE_FILE} )
+# elseif( ${QT5_INSTALLED} )
+#   message(STATUS "Working with Qt5")    
+#   find_package(Qt5Widgets REQUIRED)
+#   qt5_wrap_ui(SAMPLE_UI_HDRS ${SAMPLE_UIS})
+# endif() 
+#==================================================== QT4
+message(STATUS "QT_Qmake_executable " ${QT_QMAKE_EXECUTABLE})
+if($QT_QMAKE_EXECUTABLE STREQUAL "")
+  FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake)
+  if (NOT QT_QMAKE_EXECUTABL)
+    message(WARNING "QT not found - abort.")
+  endif()
+endif()
+# default qt version is 4
 if("${DESIRED_QT_VERSION}" STREQUAL "")
   set(DESIRED_QT_VERSION "4")
 endif()
 
-if( ${DESIRED_QT_VERSION} VERSION_GREATER "4" OR ${DESIRED_QT_VERSION} VERSION_LESS "3")
-  message(WARNING "QT version: " ${DESIRED_QT_VERSION} " not supported")
+# qt version > 5 or qt version < 3 are not supported
+if( ${DESIRED_QT_VERSION} VERSION_GREATER 5 OR ${DESIRED_QT_VERSION} VERSION_LESS 3)
+  message(FATAL_ERROR "QT version " ${DESIRED_QT_VERSION} " not supported. Try 4 or 5")
 endif()
 
+# find packages according to qt version
+if("${DESIRED_QT_VERSION}" STREQUAL "5")
+  find_package(Qt5Widgets REQUIRED)
+# - these find_packages are not necessary? -----------
+  FIND_PACKAGE(Qt5Core REQUIRED)
+  FIND_PACKAGE(Qt5Gui REQUIRED)
+  FIND_PACKAGE(Qt5Network REQUIRED)
+  FIND_PACKAGE(Qt5Xml REQUIRED)
+  #-----------------------------------------------------
+  set(QT5_INSTALLED TRUE)
+  # # by default only QtCore and QtGui modules are enabled
+  # # other modules must be enabled like this:
+  set(QT_USE_QTXML TRUE)  # needed!
+  set(QT_USE_QTNETWORK TRUE)
+
+  MESSAGE(STATUS "Found Qt version: ${Qt5Core_VERSION_STRING}")
+elseif("${DESIRED_QT_VERSION}" STREQUAL "4")
+ 
+  #   QT4_INSTALLED is set to TRUE if qt4 is found and
+  #   QT3_INSTALLED is set to TRUE if qt3 is found.
+  FIND_PACKAGE(Qt COMPONENTS QtXml QT_USE_QTNETWORK QtXmlPatterns REQUIRED)
+  set(QT_USE_QTXML TRUE)  # needed!
+  set(QT_USE_QTNETWORK TRUE)
+  
+endif()
+
+
+
+
 message(STATUS "DESIRED_QT_VERSION " ${DESIRED_QT_VERSION})
-message(STATUS "QT5_INSTALLED: " ${QT3_INSTALLED})
-message(STATUS "QT4_INSTALLED: " ${QT4_INSTALLED})
-message(STATUS "QT3_INSTALLED: " ${QT3_INSTALLED})
-
-# by default only QtCore and QtGui modules are enabled
-# other modules must be enabled like this:
-set(QT_USE_QTXML TRUE)  # needed!
-set(QT_USE_QTNETWORK TRUE)
-
-# this command will generate rules that will run rcc on all files from SAMPLE_RCS
-# in result SAMPLE_RC_SRCS variable will contain paths to files produced by rcc
-if( ${QT4_INSTALLED} )
+if(QT5_INSTALLED)
+  message(STATUS "QT5_INSTALLED: " ${QT5_INSTALLED})
+elseif(QT4_INSTALLED )
+  message(STATUS "QT4_INSTALLED: " ${QT4_INSTALLED})
+elseif(QT3_INSTALLED)
+  message(STATUS "QT3_INSTALLED: " ${QT3_INSTALLED})
+else()
+  message(SEND_ERROR "No supported Qt found.")
+endif()
+# Disable automatic conversion from QString to ASCII 8-bit strings (char *)
+# (Keeps code compatible with Qt/Mac/64bit)
+if(APPLE)
+  ADD_DEFINITIONS(-DQT_NO_CAST_TO_ASCII)
+  # include the icns file in the target
+  SET(SRCS ${SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/forms/icons/JPSvis.icns)
+endif()
+
+# this command will generate rules that will run rcc on all files from RCS
+# in result RC_SRCS variable will contain paths to files produced by rcc
+if(${QT4_INSTALLED})
   message(STATUS "Working with Qt4")
-  QT4_ADD_RESOURCES( SAMPLE_RC_SRCS ${SAMPLE_RCS} )
   # and finally this will run moc:
-  QT4_WRAP_CPP( SAMPLE_MOC_HDRS ${SAMPLE_MOC_HDRS} )
+  QT4_WRAP_CPP( MOC_HDRS ${MOC_HDRS} )
   # this will run uic on .ui files:
-  QT4_WRAP_UI( SAMPLE_UI_HDRS ${SAMPLE_UIS} )
-  QT4_ADD_RESOURCES(SAMPLE_RESOURCES_RCS ${SAMPLE_RCS})
-  # add some useful macros and variables
-  # (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
+  QT4_WRAP_UI( UI_HDRS ${UIS} )
+  QT4_ADD_RESOURCES( RCS ${RCS} )
   include( ${QT_USE_FILE} )
-elseif( ${QT5_INSTALLED} )
-  message(STATUS "Working with Qt5")    
-  find_package(Qt5Widgets REQUIRED)
-  qt5_wrap_ui(SAMPLE_UI_HDRS ${SAMPLE_UIS})
-endif() 
+  ADD_EXECUTABLE( JPSvis MACOSX_BUNDLE WIN32
+  ${SRCS}
+  ${MOC_HDRS}
+  ${UI_HDRS} 
+  ${RCS}
+  )
+  TARGET_LINK_LIBRARIES( JPSvis ${QT_LIBRARIES})
+elseif( ${QT5_INSTALLED})
+  message(STATUS "Working with Qt5")
+  # http://www.kdab.com/using-cmake-with-qt-5/
+  set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}" ) 
+  
+  qt5_wrap_ui( UI_HDRS ${UIS} )
+  qt5_add_resources( RCS ${RCS} )
+
+  ADD_EXECUTABLE( JPSvis MACOSX_BUNDLE WIN32
+  ${SRCS}
+  ${MOC_HDRS}
+  ${UI_HDRS} 
+  ${RCS}
+  )
+ qt5_use_modules(JPSvis Widgets)
+ target_link_libraries(JPSvis ${Qt5Widgets_LIBRARIES})
+else()
+  message(FATAL_ERROR "QT NOT FOUND - ABORT")
+endif()
+
 
+#======================================================================
 # debug where is python?
-# foreach(REQUIRED_PYTHON_VERSION 2.7 2.6 2.5)
-#   message(STATUS "======== LOOKING FOR ${REQUIRED_PYTHON_VERSION} ========================")
-#   find_package ( PythonInterp ${REQUIRED_PYTHON_VERSION} REQUIRED)
-#   find_package ( PythonLibs ${PYTHON_VERSION_STRING} EXACT)
-#   #find_package ( PythonLibs ${PYTHON_VERSION_STRING} EXACT REQUIRED )
+foreach(REQUIRED_PYTHON_VERSION 2.7)  # 2.6 2.5)
+  message(STATUS "======== LOOKING FOR ${REQUIRED_PYTHON_VERSION} ========================")
+  # find_package ( PythonInterp ${REQUIRED_PYTHON_VERSION} REQUIRED)
+  # find_package ( PythonLibs ${PYTHON_VERSION_STRING} EXACT)
+  # find_package ( PythonLibs ${PYTHON_VERSION_STRING} EXACT REQUIRED )
 
 
-#   message(STATUS "PYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}")
-#   message(STATUS "PYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}")
-#   message(STATUS "PYTHON_INCLUDE_DIR:FILEPATH=${PYTHON_INCLUDE_DIR}")
-#   message(STATUS "PYTHON_FRAMEWORK_INCLUDES=${PYTHON_FRAMEWORK_INCLUDES}")
-#   message(STATUS "PYTHONLIBS_VERSION_STRING=${PYTHONLIBS_VERSION_STRING}")
-#   message(STATUS "Python_FRAMEWORKS=${Python_FRAMEWORKS}")
+  message(STATUS "PYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}")
+  message(STATUS "PYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}")
+  message(STATUS "PYTHON_INCLUDE_DIR:FILEPATH=${PYTHON_INCLUDE_DIR}")
+  message(STATUS "PYTHON_FRAMEWORK_INCLUDES=${PYTHON_FRAMEWORK_INCLUDES}")
+  message(STATUS "PYTHONLIBS_VERSION_STRING=${PYTHONLIBS_VERSION_STRING}")
+  message(STATUS "Python_FRAMEWORKS=${Python_FRAMEWORKS}")
 
-#   unset(PYTHON_EXECUTABLE CACHE)
-#   unset(PYTHON_LIBRARY CACHE)
-#   unset(PYTHON_INCLUDE_DIR CACHE)
-# endforeach()
+  # unset(PYTHON_EXECUTABLE CACHE)
+  # unset(PYTHON_LIBRARY CACHE)
+  # unset(PYTHON_INCLUDE_DIR CACHE)
+endforeach()
 
 
 # For Apple set the icns file containing icons
@@ -271,25 +383,11 @@ IF(APPLE)
   # set where in the bundle to put the icns file
   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/forms/icons/JPSvis.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
   # include the icns file in the target
-  SET(SAMPLE_SRCS ${SAMPLE_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/forms/icons/JPSvis.icns)
+  SET(SRCS ${SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/forms/icons/JPSvis.icns)
 ENDIF(APPLE)
 
-# here we instruct CMake to build JPSvis executable from all of the source files
-ADD_EXECUTABLE( JPSvis  MACOSX_BUNDLE WIN32
-  ${SAMPLE_SRCS}
-  ${SAMPLE_MOC_HDRS}
-  ${SAMPLE_UI_HDRS} 
-  ${SAMPLE_RESOURCES_RCS}
-
-  # ${CMAKE_CURRENT_SOURCE_DIR}/forms/icons/JPSvis.png
-#  JPSvis.icns
-  )
-
-
-
-
-SET_TARGET_PROPERTIES(JPSvis PROPERTIES LINKER_LANGUAGE CXX)
-set_property(TARGET JPSvis PROPERTY CXX_STANDARD 11)
+# SET_TARGET_PROPERTIES(JPSvis PROPERTIES LINKER_LANGUAGE CXX)
+# set_property(TARGET JPSvis PROPERTY CXX_STANDARD 11)
 
 # last thing we have to do is to tell CMake what libraries our executable needs,
 # luckily FIND_PACKAGE prepared QT_LIBRARIES variable for us:
@@ -450,3 +548,25 @@ set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example")
  
 include(CPack)
 
+
+message (STATUS "bin install dir" ${BIN_INSTALL_DIR})
+set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${BIN_INSTALL_DIR}")
+include(InstallRequiredSystemLibraries)
+
+if(APPLE)
+    set(EXECUTABLE "${PROJECT_NAME}.app")
+elseif(WIN32)
+    set(EXECUTABLE "${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
+else()
+    set(EXECUTABLE "${BIN_INSTALL_DIR}/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
+endif()
+
+if(APPLE OR WIN32)
+  if(${QT4_INSTALLED})
+    include(DeployQt4)
+    install_qt4_executable("${EXECUTABLE}" "qsqlite")
+  elseif(${QT4_INSTALLED})
+    include(DeployQt5)
+    install_qt5_executable("${EXECUTABLE}" "qsqlite")
+  endif()
+endif()
diff --git a/forms/settings.ui b/forms/settings.ui
index 52d4fddce6bd1534f3d5fa1969d363965a16ce4b..80896a8d46bfba77eb702c59e29b487a90a9b1d6 100644
--- a/forms/settings.ui
+++ b/forms/settings.ui
@@ -146,7 +146,7 @@
      <property name="title">
       <string>Color</string>
      </property>
-     <widget class="QWidget" name="layoutWidget">
+     <widget class="QWidget" name="layoutWidget2">
       <property name="geometry">
        <rect>
         <x>10</x>
@@ -216,7 +216,7 @@
     <attribute name="title">
      <string>Trails/Captions</string>
     </attribute>
-    <widget class="QWidget" name="layoutWidget">
+    <widget class="QWidget" name="layoutWidget3">
      <property name="geometry">
       <rect>
        <x>70</x>
@@ -645,7 +645,7 @@
     <attribute name="title">
      <string>Locations</string>
     </attribute>
-    <widget class="QWidget" name="layoutWidget">
+    <widget class="QWidget" name="layoutWidget5">
      <property name="geometry">
       <rect>
        <x>20</x>
diff --git a/install_packages_debian.txt b/install_packages_debian.txt
index 3a5832c88d6e6f7a195db1918a6f4873937e63e3..2d17b76a2a3e99f1fab6a7f21d297e3fc557165f 100644
--- a/install_packages_debian.txt
+++ b/install_packages_debian.txt
@@ -1,3 +1,8 @@
+MAc 
+brew update
+# brew uninstall vtk
+brew install vtk --with-qt --without-python --without-boost  --build-from-source
+
 Debian 7.7
 sudo apt-get install libmgl-qt5
 sudo apt-get install libvtk5-dev