diff --git a/CMakeLists.txt b/CMakeLists.txt
index 459d7c7e04727f2e0505eb7b5ac2890faa5d53b0..f0c18ef02cc211b92fc3d627bc983a3cf4771c1a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,7 @@ option(ENABLE_SPNAV "whether 3DConnexion devices should be supported"
       OFF)
 option(STATIC_PROPERTY_WORKAROUND "workaround for static property bug with some boost/boost_python combinations" OFF)
 option(DEPLOYMENT "switch on deployment settings" OFF)
+option(COMPOUND_LIB "location of the compound library to enable rule based builder based on the chemical component dictionary")
 
 
 if (PREFIX)
diff --git a/build_configs/win32 b/build_configs/win32
index ec11318280c5cefb44c7150bb552a3916d19d32a..e315b00056d6c1fe7c835c946b40f6e0edb7e0de 100644
--- a/build_configs/win32
+++ b/build_configs/win32
@@ -22,3 +22,4 @@ set(USE_SHADER "OFF" CACHE PATH "use GLSL shaders")
 set(OPTIMIZE "ON" CACHE PATH "Release Code optimisations")
 set(ENABLE_IPLT "ON" CACHE PATH "include IPLT functionality")
 set(DEPLOYMENT "ON" CACHE PATH "activate deployment scripts" )
+set(COMPOUND_LIB "${USER_DIR}/compound_lib" CACHE PATH "location of compound lib for rule based builder" )
diff --git a/modules/gfx/src/impl/wgl_offscreen_buffer.cc b/modules/gfx/src/impl/wgl_offscreen_buffer.cc
index 135e5c3ee70a383b5cbba1838b6456a4d9390242..614a19567f68c77a7f830898d998d4b71b211db2 100644
--- a/modules/gfx/src/impl/wgl_offscreen_buffer.cc
+++ b/modules/gfx/src/impl/wgl_offscreen_buffer.cc
@@ -21,7 +21,7 @@
 
 namespace ost { namespace gfx {
 
-OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, const OffscreenBufferFormat& f, bool shared=true):
+OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, const OffscreenBufferFormat& f, bool shared):
   width_(width), height_(height), valid_(false), active_(false)
 {}
 
diff --git a/modules/gfx/src/impl/wgl_offscreen_buffer.hh b/modules/gfx/src/impl/wgl_offscreen_buffer.hh
index ae846a2ba3b354de3d7bed5ad2211d040e0ccc39..df4cfaab4bb9488183e31c1a6223722b0a5b3b8a 100644
--- a/modules/gfx/src/impl/wgl_offscreen_buffer.hh
+++ b/modules/gfx/src/impl/wgl_offscreen_buffer.hh
@@ -19,7 +19,6 @@
 #ifndef OST_GFX_WGL_OFFSCREEN_BUFFER_HH
 #define OST_GFX_WGL_OFFSCREEN_BUFFER_HH
 
-#include <ost/gfx/GL/wglew.h>
 
 namespace ost { namespace gfx {
 
@@ -46,13 +45,6 @@ private:
   int height_;
   bool valid_;
   bool active_;
-
-  HPBUFFERARB        pbuffer_;
-  HGLRC              context_; //rendering context
-  HGLRC              old_context_;
-  
-  HDC                dev_context_;//device context
-  HDC                old_dev_context_;
 };
 
 }} // ns
diff --git a/modules/gui/src/data_viewer/null_overlay.hh b/modules/gui/src/data_viewer/null_overlay.hh
index 737bf94ecd3e760a260d06c267b87ef46ab1b82b..3e4128b033d4c08c73971c0584d790fa2bed29f4 100644
--- a/modules/gui/src/data_viewer/null_overlay.hh
+++ b/modules/gui/src/data_viewer/null_overlay.hh
@@ -23,10 +23,11 @@
 */
 
 #include "overlay_base.hh"
+#include <ost/gui/module_config.hh>
 
 namespace ost { namespace img { namespace gui {
 
-class DLLEXPORT NullOverlay: public Overlay
+class DLLEXPORT_OST_GUI NullOverlay: public Overlay
 {
   Q_OBJECT;
 public:
diff --git a/modules/gui/src/data_viewer/pointlist_overlay_base.hh b/modules/gui/src/data_viewer/pointlist_overlay_base.hh
index dc8b3da07a5501951a995788ee21ce6e6a09729e..606c859a1dcc32b2ff17eb1d2836cd17ab621e53 100644
--- a/modules/gui/src/data_viewer/pointlist_overlay_base.hh
+++ b/modules/gui/src/data_viewer/pointlist_overlay_base.hh
@@ -72,7 +72,7 @@ class DLLEXPORT_OST_GUI PointlistOverlayBaseSettings: public QDialog
   QPushButton* passive_color_b_;
 };
 
-class DLLEXPORT PointlistOverlayBase: public Overlay
+class DLLEXPORT_OST_GUI PointlistOverlayBase: public Overlay
 {
   Q_OBJECT;
 public:
diff --git a/modules/info/src/info_path.hh b/modules/info/src/info_path.hh
index da5871f8a55ca08b721391934febbae6bcb1f4b8..ad69b47cd4014bf91e6ec51de3603ccc494333d0 100644
--- a/modules/info/src/info_path.hh
+++ b/modules/info/src/info_path.hh
@@ -70,6 +70,8 @@ private:
 };
 
 DLLEXPORT_OST_INFO std::ostream& operator<<(std::ostream&, const InfoPath& p);
+#ifndef _MSC_VER
 DLLEXPORT_OST_INFO InfoPath operator+(const InfoPath& p1, const InfoPath& p2);
+#endif
 
 }} // ns