diff --git a/modules/gui/pymod/export_perspective.cc b/modules/gui/pymod/export_perspective.cc
index 5c24dd607b3395862fad652db90a3a27fba11434..9e234279a901a9da02a0111c6e28636aa2b89cc9 100644
--- a/modules/gui/pymod/export_perspective.cc
+++ b/modules/gui/pymod/export_perspective.cc
@@ -19,6 +19,7 @@
 #include <boost/python.hpp>
 
 #include <QMdiArea>
+#include <QMenuBar>
 
 #include <ost/gui/perspective.hh>
 #include <ost/gui/main_area.hh>
diff --git a/modules/gui/pymod/export_scene_selection.cc b/modules/gui/pymod/export_scene_selection.cc
index 28a283fe7c4d1f53d987e0bb968645793cdcb688..7b05d2bf804a2df04081e07c1753af61885b4372 100644
--- a/modules/gui/pymod/export_scene_selection.cc
+++ b/modules/gui/pymod/export_scene_selection.cc
@@ -21,7 +21,8 @@ using namespace boost::python;
 
 #include <ost/gui/scene_selection.hh>
 #include <ost/gfx/gfx_node.hh>
-
+#include <ost/gfx/entity.hh>
+#include <ost/gfx/gfx_object.hh>
 using namespace ost;
 using namespace ost::gui;
 
diff --git a/modules/gui/src/file_browser.cc b/modules/gui/src/file_browser.cc
index 905d7e93afcd434c67296a3f1ce66820bc7488e2..a6bf49fb31a33d77c318191e046347b4df3436ec 100644
--- a/modules/gui/src/file_browser.cc
+++ b/modules/gui/src/file_browser.cc
@@ -52,6 +52,9 @@
 #include <QDir>
 #include <QFileInfo>
 #include <QUrl>
+#include <QDirModel>
+#include <QListView>
+#include <QComboBox>
 
 namespace ost { namespace gui {
 
diff --git a/modules/gui/src/file_browser.hh b/modules/gui/src/file_browser.hh
index b8d067a9b412a3b29b47e2caf7d9a4921e82ac36..b68b837febd88cfbc19a9f47114c877bbf888a16 100644
--- a/modules/gui/src/file_browser.hh
+++ b/modules/gui/src/file_browser.hh
@@ -24,9 +24,13 @@
 #include <ost/gui/module_config.hh>
 #include <ost/gui/widget.hh>
 
-#include <QDirModel>
-#include <QListView>
-#include <QComboBox>
+#include <QModelIndex>
+#include <QDir>
+
+class QDirModel;
+class QListView;
+class QComboBox;
+
 namespace ost { namespace gui {
 
 
diff --git a/modules/gui/src/file_type_dialog.cc b/modules/gui/src/file_type_dialog.cc
index 5c1a28923895c1921518d46cf3accfc6a16f7d81..ed226aba88370a95a16f710fa9b398f51e969c60 100644
--- a/modules/gui/src/file_type_dialog.cc
+++ b/modules/gui/src/file_type_dialog.cc
@@ -22,11 +22,14 @@
 #include <ost/io/io_manager.hh>
 #include <ost/io/io_exception.hh>
 
+
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QHBoxLayout>
 #include <QTableWidgetItem>
 #include <QHeaderView>
+#include <QTableWidget>
+#include <QLabel>
 namespace ost { namespace gui {
 
 
diff --git a/modules/gui/src/file_type_dialog.hh b/modules/gui/src/file_type_dialog.hh
index e3babdc42029e57819ee6e2ee585ec7b054d0491..4cd7746afb32d17f843b9d4680e07e5aaa2c8fd6 100644
--- a/modules/gui/src/file_type_dialog.hh
+++ b/modules/gui/src/file_type_dialog.hh
@@ -35,9 +35,10 @@
 #endif
 
 #include <QDialog>
-#include <QTableWidget>
-#include <QLabel>
+#include <QMetaType>
 
+class QTableWidget;
+class QLabel;
 namespace ost { namespace gui {
 
 /// \brief dialog to select a file type
diff --git a/modules/gui/src/file_viewer.cc b/modules/gui/src/file_viewer.cc
index 1b3ac7a5219e28360fa6b96a3bd2a8bf86002013..a5c5d727157dee2a6d7516032c5200717850bca2 100644
--- a/modules/gui/src/file_viewer.cc
+++ b/modules/gui/src/file_viewer.cc
@@ -21,7 +21,11 @@
 
 #include "file_viewer.hh"
 
+#include <QMainWindow>
+#include <QSyntaxHighlighter>
+#include <QTextEdit>
 #include <QtGui>
+
 namespace ost { namespace gui {
 
 FileViewer::FileViewer(const QString& path, QWidget* parent):
diff --git a/modules/gui/src/file_viewer.hh b/modules/gui/src/file_viewer.hh
index a245423f993fb6910548e4555a3d2efdeb3f4b10..d82217ccddd67c0613eb5d7b9162f6bda23b6992 100644
--- a/modules/gui/src/file_viewer.hh
+++ b/modules/gui/src/file_viewer.hh
@@ -22,9 +22,12 @@
 
 #include <ost/gui/module_config.hh>
 
-#include <QMainWindow>
-#include <QSyntaxHighlighter>
-#include <QTextEdit>
+
+#include <QWidget>
+
+class QTextEdit;
+class QSyntaxHighlighter;
+
 namespace ost { namespace gui {
 
 /// \brief a simplistic file viewer
diff --git a/modules/gui/src/gl_canvas.cc b/modules/gui/src/gl_canvas.cc
index 4b677a2cca15da32a9d15ab7358929eb00b3822e..2d631931bafc912c9137587f28df24c1b9a0b9c0 100644
--- a/modules/gui/src/gl_canvas.cc
+++ b/modules/gui/src/gl_canvas.cc
@@ -38,6 +38,9 @@
 #include <QStatusBar>
 #include <QApplication>
 #include <QClipboard>
+#include <QTime>
+#include <QBasicTimer>
+#include <QMouseEvent>
 #include <QMenu>
 
 #if QT_VERSION >= 0x040600
diff --git a/modules/gui/src/gl_canvas.hh b/modules/gui/src/gl_canvas.hh
index ad84d2b5c1e175d062a63e9f4946d39206c35d3a..dbc879e913ee53e17aa57c7d48defb094dfad53e 100644
--- a/modules/gui/src/gl_canvas.hh
+++ b/modules/gui/src/gl_canvas.hh
@@ -20,18 +20,19 @@
 #define OST_GUI_GL_CANVAS_HH
 
 
-// Qt includes must come last
-#include <QGLWidget>
-#include <QTime>
-#include <QBasicTimer>
-#include <QMouseEvent>
+
 #include <ost/gui/tools/tool.hh>
 #include <ost/gui/scene_menu.hh>
 #include <ost/gfx/glwin_base.hh>
 #include <ost/gfx/input.hh>
 #include <ost/gfx/gfx_object_fw.hh>
 
+
+// Qt includes must come last
+#include <QGLWidget>
+#include <QBasicTimer>
 class QMenu;
+class QMouseEvent;
 
 namespace ost { namespace gui {
 
diff --git a/modules/gui/src/gl_win.cc b/modules/gui/src/gl_win.cc
index f5b8ea561917d7c743efce7408bfdece3aa7410b..cfaade7eab9f85915b5217ab9ce398d28d38c1c0 100644
--- a/modules/gui/src/gl_win.cc
+++ b/modules/gui/src/gl_win.cc
@@ -42,6 +42,7 @@
 #include <QLabel>
 #include <QStatusBar>
 #include <QVBoxLayout>
+#include <QStatusBar>
 
 /*
   Authors: Ansgar Philippsen, Marco Biasini
diff --git a/modules/gui/src/gl_win.hh b/modules/gui/src/gl_win.hh
index d808d03ff73807d9df24a8f5a0d512122834378f..3e32df5c2b1b56c22ce7297ec9687dff124b4dcc 100644
--- a/modules/gui/src/gl_win.hh
+++ b/modules/gui/src/gl_win.hh
@@ -25,10 +25,11 @@
 #include <ost/gui/module_config.hh>
 #include <ost/gui/widget.hh>
 
-#include <QAction>
 #include <QGLFormat>
 #include <QActionGroup>
-#include <QStatusBar>
+
+class QStatusBar;
+class QAction;
 
 /*
   Authors: Ansgar Philippsen, Marco Biasini
diff --git a/modules/gui/src/main.cc b/modules/gui/src/main.cc
index 2b43e1371f40a7d2abac8cf46e94594a0194c01f..61d6b05d8227dd1d1f36be1578c514607fa62a24 100644
--- a/modules/gui/src/main.cc
+++ b/modules/gui/src/main.cc
@@ -45,16 +45,13 @@
 #include <QDragEnterEvent>
 #include <QList>
 #include <QUrl>
-//#include "xpm/ost_small.xpm"
+#include <QMdiArea>
+#include <QAction>
+#include <QFile>
+#include <QDragEnterEvent>
+#include <QDropEvent>
 
 namespace ost { namespace gui {
-#if 0
-namespace {
-
-static QString ost_about_str("The OpenStructure Project\n\nCodename OST\n\nLead Design and Programming\n  Ansgar Philippsen\n  Marco Biasini\n\nTeam\n  Pascal Benkert\n  Jurgen Haas\n  Valerio Mariani\n  Andreas Schenk\n  Tobias Schmidt\n  Torsten Schwede\n\n\n www.openstructure.org ");
-
-}
-#endif
 
 QSize GostyMainWindow::GetDefaultSize()
 {
diff --git a/modules/gui/src/main.hh b/modules/gui/src/main.hh
index 57d5a46a15866eb9d19b269d8ba06ac5b16bc8a0..deee0797264437d5b47f041fe712fe8da19c9c88 100644
--- a/modules/gui/src/main.hh
+++ b/modules/gui/src/main.hh
@@ -30,11 +30,10 @@
 
 // Qt headers must come last
 #include <QMainWindow>
-#include <QMdiArea>
-#include <QAction>
-#include <QFile>
-#include <QDragEnterEvent>
-#include <QDropEvent>
+
+class QDropEvent;
+class QDragEnterEvent;
+class QCloseEvent;
 
 namespace ost { namespace gui {
 
diff --git a/modules/gui/src/perspective.cc b/modules/gui/src/perspective.cc
index f3ac9850a9b08eeaecb396f4c7140677fed9eb9c..b95b6f5ef523a92caf69e4a0225f298d5326b42e 100644
--- a/modules/gui/src/perspective.cc
+++ b/modules/gui/src/perspective.cc
@@ -41,6 +41,11 @@
 #include <QKeySequence>
 #include <QStatusBar>
 #include <QPushButton>
+#include <QMenuBar>
+#include <QMap>
+#include <QString>
+#include <QStatusBar>
+
 /*
   Author: Marco Biasini
  */
diff --git a/modules/gui/src/perspective.hh b/modules/gui/src/perspective.hh
index e0ad2c4965ec56f7485906155641dc6bf2f348ac..19500cfd328834f8ba613cefb208213957f87bc2 100644
--- a/modules/gui/src/perspective.hh
+++ b/modules/gui/src/perspective.hh
@@ -27,12 +27,6 @@
 #include <ost/gui/module_config.hh>
 
 #include <QObject>
-#include <QMenuBar>
-#include <QMap>
-#include <QString>
-#include <QMenu>
-#include <QStatusBar>
-
 
 class QMenu;
 class QMenuBar; 
diff --git a/modules/gui/src/scene_selection.hh b/modules/gui/src/scene_selection.hh
index 61b8c939158d7feb628b0e622d4f41918aa711d5..53419a3ae90df316aec25877bffddc1e145568c3 100644
--- a/modules/gui/src/scene_selection.hh
+++ b/modules/gui/src/scene_selection.hh
@@ -22,7 +22,7 @@
 
 #include <ost/mol/query_view_wrapper.hh>
 
-#include <ost/gfx/entity.hh>
+#include <ost/gfx/entity_fw.hh>
 #include <ost/gfx/gfx_node_fw.hh>
 #include <ost/gui/module_config.hh>
 
diff --git a/modules/gui/src/scene_win/current_selection_node.cc b/modules/gui/src/scene_win/current_selection_node.cc
index 6f7eeddaae4d8be145d2b5e47a96e2782e1fbf20..d10da3813b9407334e072729162a257b6545407e 100644
--- a/modules/gui/src/scene_win/current_selection_node.cc
+++ b/modules/gui/src/scene_win/current_selection_node.cc
@@ -22,6 +22,7 @@
 #include <ost/gui/scene_win/scene_win_model.hh>
 #include <ost/gfx/scene.hh>
 #include <ost/gfx/gfx_node.hh>
+#include <ost/gfx/entity.hh>
 
 #include <ost/gui/scene_win/scene_win.hh>
 
@@ -30,7 +31,11 @@
 #include <QFont>
 namespace ost { namespace gui {
 
-CurrentSelectionNode::CurrentSelectionNode(gfx::EntityP entity, SceneNode* parent):EntityPartNode("Current Selection",entity,mol::QueryViewWrapper(entity->GetSelection()),parent),wrapper_(mol::QueryViewWrapper(entity->GetSelection())){
+CurrentSelectionNode::CurrentSelectionNode(gfx::EntityP entity, 
+                                           SceneNode* parent):
+   EntityPartNode("Current Selection", entity, 
+                  mol::QueryViewWrapper(entity->GetSelection()),parent),
+   wrapper_(mol::QueryViewWrapper(entity->GetSelection())){
 }
 
 void CurrentSelectionNode::SetQueryView(mol::QueryViewWrapper part)
diff --git a/modules/gui/src/scene_win/current_selection_node.hh b/modules/gui/src/scene_win/current_selection_node.hh
index 9a63219d9e63d8a0630e25592aed164fbc43266b..45d97225c2b9134453007643004f59a324846bce 100644
--- a/modules/gui/src/scene_win/current_selection_node.hh
+++ b/modules/gui/src/scene_win/current_selection_node.hh
@@ -23,7 +23,6 @@
 #include <ost/mol/entity_view.hh>
 #include <ost/mol/query_view_wrapper.hh>
 
-#include <ost/gfx/entity.hh>
 #include <ost/gfx/entity_fw.hh>
 
 #include <ost/gui/module_config.hh>
@@ -37,7 +36,7 @@
  */
 
 namespace ost { namespace gui {
-
+  
 class DLLEXPORT_OST_GUI CurrentSelectionNode : public EntityPartNode {
   Q_OBJECT
 public:
diff --git a/modules/gui/src/scene_win/render_mode_node.cc b/modules/gui/src/scene_win/render_mode_node.cc
index de6bc6fe609a66cd302f7394e3179c72c97151a9..bba7f59abd2ddb12c721c372a0edab85b1dc8dde 100644
--- a/modules/gui/src/scene_win/render_mode_node.cc
+++ b/modules/gui/src/scene_win/render_mode_node.cc
@@ -18,6 +18,8 @@
 //------------------------------------------------------------------------------
 
 #include <ost/mol/query_view_wrapper.hh>
+#include <ost/gfx/entity.hh>
+
 #include <ost/gui/scene_win/scene_win_model.hh>
 #include "render_mode_node.hh"
 
diff --git a/modules/gui/src/scene_win/render_mode_node.hh b/modules/gui/src/scene_win/render_mode_node.hh
index fb7304379c7cc18dc97229fa4a80aab0cad44e3b..45984b7ce9fefac5d20e820f765f4ace2bff4103 100644
--- a/modules/gui/src/scene_win/render_mode_node.hh
+++ b/modules/gui/src/scene_win/render_mode_node.hh
@@ -23,12 +23,8 @@
 #include <ost/mol/entity_view.hh>
 #include <ost/mol/query_view_wrapper.hh>
 
-#include <ost/gfx/entity.hh>
 #include <ost/gfx/entity_fw.hh>
 #include <ost/gfx/render_mode.hh>
-#include <ost/gfx/scene_observer.hh>
-#include <ost/gfx/gfx_object.hh>
-#include <ost/gfx/gfx_object_fw.hh>
 
 #include <ost/gui/module_config.hh>
 #include <ost/gui/scene_win/entity_part_node.hh>
@@ -45,7 +41,8 @@ namespace ost { namespace gui {
 class DLLEXPORT_OST_GUI RenderModeNode : public EntityPartNode {
   Q_OBJECT
 public:
-  RenderModeNode(gfx::EntityP entity, gfx::RenderMode::Type render_mode, SceneNode* node_parent );
+  RenderModeNode(gfx::EntityP entity, gfx::RenderMode::Type render_mode, 
+                 SceneNode* node_parent);
 
   virtual QVariant GetData(int column, int role);
   virtual bool SetData(int column, const QVariant& value, int role);
diff --git a/modules/gui/src/scene_win/render_modes_node.cc b/modules/gui/src/scene_win/render_modes_node.cc
index 611cc3561e1ceb55d6bfc24757be9ded52279542..68661b0973f984f9cb583a48ae354255496fa2aa 100644
--- a/modules/gui/src/scene_win/render_modes_node.cc
+++ b/modules/gui/src/scene_win/render_modes_node.cc
@@ -22,7 +22,7 @@
 
 #include <ost/gfx/scene.hh>
 #include <ost/gfx/gfx_node.hh>
-
+#include <ost/gfx/entity.hh>
 #include <ost/gui/scene_win/scene_win.hh>
 #include <ost/gui/scene_win/scene_win_model.hh>
 #include "render_modes_node.hh"
@@ -31,7 +31,8 @@
 
 namespace ost { namespace gui {
 
-RenderModesNode::RenderModesNode(gfx::EntityP entity, SceneNode* parent):LabelNode("Render Modes",parent),node_(entity){
+RenderModesNode::RenderModesNode(gfx::EntityP entity, SceneNode* parent):
+  LabelNode("Render Modes",parent),node_(entity) {
   SceneWinModel* model = GostyApp::Instance()->GetSceneWin()->GetModel();
   model->AddNode(parent, this);
 
diff --git a/modules/gui/src/scene_win/render_modes_node.hh b/modules/gui/src/scene_win/render_modes_node.hh
index dbb5c1c2bce9d5a4f2eba02c4d2505cd1f6ef751..024d45f8e1ba2a6a7bcf3c40ac005d27b3ff39b1 100644
--- a/modules/gui/src/scene_win/render_modes_node.hh
+++ b/modules/gui/src/scene_win/render_modes_node.hh
@@ -19,14 +19,8 @@
 #ifndef OST_GUI_SCENE_WIN_RENDER_MODES_NODE_HH
 #define OST_GUI_SCENE_WIN_RENDER_MODES_NODE_HH
 
-
-#include <ost/gfx/entity.hh>
 #include <ost/gfx/entity_fw.hh>
-#include <ost/gfx/gfx_node.hh>
 #include <ost/gfx/gfx_node_fw.hh>
-#include <ost/gfx/scene_observer.hh>
-#include <ost/gfx/gfx_object.hh>
-#include <ost/gfx/gfx_object_fw.hh>
 
 #include <ost/gui/module_config.hh>
 #include <ost/gui/scene_win/label_node.hh>
diff --git a/modules/gui/src/scene_win/scene_win.hh b/modules/gui/src/scene_win/scene_win.hh
index 08309508f64e38861b42dd956ba24dbc2d881347..d84669079fabfca8255af0156f35c5f3db54c60e 100644
--- a/modules/gui/src/scene_win/scene_win.hh
+++ b/modules/gui/src/scene_win/scene_win.hh
@@ -23,7 +23,7 @@
 #include <ost/mol/query_view_wrapper.hh>
 
 #include <ost/gfx/gfx_node_fw.hh>
-#include <ost/gfx/entity.hh>
+#include <ost/gfx/entity_fw.hh>
 
 #include <ost/gui/module_config.hh>
 #include <ost/gui/widget.hh>