diff --git a/modules/gui/src/data_viewer/data_viewer.cc b/modules/gui/src/data_viewer/data_viewer.cc
index 855e20db8a5884ba5ca7186b5194b5ce174410d5..eebc398b7d44765d4053801d57c8b614f41f2e9d 100644
--- a/modules/gui/src/data_viewer/data_viewer.cc
+++ b/modules/gui/src/data_viewer/data_viewer.cc
@@ -36,7 +36,6 @@
 
 #include "data_viewer.hh"
 #include "data_viewer_panel.hh"
-#include <ost/gui/data_viewer/data_viewer_tool_widget_container.hh>
 #include "overlay_base.hh"
 #include "overlay_manager.hh"
 
@@ -53,7 +52,6 @@
 #include <ost/gui/data_viewer/viewer_graphics_scene.hh>
 #include "argand.hh"
 #include "info_panel.hh"
-#include "fft_panel.hh"
 
 namespace ost { namespace img { namespace gui {
 
@@ -70,13 +68,11 @@ int ipow(int base, unsigned int exponent){
 
 DataViewer::DataViewer(QWidget* p, const Data& data, const QString& name):
   QMainWindow(p,0),
-  container_(new DataViewerToolWidgetContainer(this)),
   panel_(new ViewerPanel(this)),
   ov_manager_(new OverlayManager(this)),
-  ov_manager_gui_(new OverlayManagerGUI(this, ov_manager_)),
+  ov_manager_gui_(new OverlayManagerGUI(0, ov_manager_)),
   info_(new InfoPanel()),
   argand_(new Argand()),
-  fft_(new FFTPanel(data,this)),
   zoomlabel_(new QLabel("1:1")),
   slablabel_(new QLabel("0")),
   lastmouse_()
@@ -85,30 +81,32 @@ DataViewer::DataViewer(QWidget* p, const Data& data, const QString& name):
   GraphicsImageItem* image=panel_->AddImage(data);
   //connect(image,SIGNAL(MousePosition(const QPointF&,Complex)),info_,SLOT(SetMousePoint(const QPointF&,Complex)));
   panel_->AddWidget(info_);
+  panel_->AddWidget(ov_manager_gui_);
   panel_->AddWidget(argand_);
   //scene_->setSceneRect(image->boundingRect());
   connect(image,SIGNAL(MousePositionReal(const QPointF&,Real)),info_,SLOT(SetMousePoint(const QPointF&,Real)));
   connect(image,SIGNAL(MousePositionComplex(const QPointF&,Complex)),info_,SLOT(SetMousePoint(const QPointF&,Complex)));
-  connect(image,SIGNAL(MousePositionReal(const QPointF&,Real)),fft_,SLOT(SetPosition(const QPointF&)));
-  connect(image,SIGNAL(MousePositionComplex(const QPointF&,Complex)),fft_,SLOT(SetPosition(const QPointF&)));
+  //connect(image,SIGNAL(MousePositionReal(const QPointF&,Real)),fft_,SLOT(SetPosition(const QPointF&)));
+ // connect(image,SIGNAL(MousePositionComplex(const QPointF&,Complex)),fft_,SLOT(SetPosition(const QPointF&)));
   OnSlabChange(image->GetSlab());
   connect(ov_manager_gui_,SIGNAL(SettingsChanged()),this,SLOT(UpdateView()));
   setAnimated(false);
-  QSplitter* splitter=new QSplitter(this);
+  setCentralWidget(panel_);
+/*  QSplitter* splitter=new QSplitter(this);
   setCentralWidget(splitter);
   splitter->addWidget(panel_);
   splitter->addWidget(container_);
   splitter->setCollapsible(0,false);
   splitter->setStretchFactor(0,1);
   splitter->setCollapsible(1,true);
-  splitter->setStretchFactor(1,0);
+  splitter->setStretchFactor(1,0);*/
   statusBar()->addWidget(zoomlabel_);
   statusBar()->addWidget(slablabel_);
 
-  container_->AddChildWidget(ov_manager_gui_,"Overlays",true);
+  //container_->AddChildWidget(ov_manager_gui_,"Overlays",true);
   //container_->AddChildWidget(info_,"Info",true);
   //container_->AddChildWidget(argand_,"Argand",false);
-  container_->AddChildWidget(fft_,"Live FFT",false);
+ // container_->AddChildWidget(fft_,"Live FFT",false);
   info_->SetImageInfo(data);
 
 
@@ -239,12 +237,12 @@ void DataViewer::SetAntialiasing(bool f)
 
 void DataViewer::AddDockWidget(QWidget* w, const QString& name, bool show)
 {
-  container_->AddChildWidget(w,name,show);
+  panel_->AddWidget(w);
 }
 
 void DataViewer::RemoveDockWidget(QWidget* w)
 {
-  container_->RemoveWidget(w);
+//  container_->RemoveWidget(w);
 }
 
 
diff --git a/modules/gui/src/data_viewer/data_viewer.hh b/modules/gui/src/data_viewer/data_viewer.hh
index cfa9c30e1ebdfd6e24e024e0212eb9cf43ff2b32..ad4800d9ae9e9c8f5e9713586e50b912d7381a7c 100644
--- a/modules/gui/src/data_viewer/data_viewer.hh
+++ b/modules/gui/src/data_viewer/data_viewer.hh
@@ -53,10 +53,8 @@ namespace img { namespace gui {
 
 //fw decl
 class DataViewerPanel;
-class DataViewerToolWidgetContainer;
 class Argand;
 class InfoPanel;
-class FFTPanel;
 
 //! Data viewer
 class DLLEXPORT_OST_GUI DataViewer: public QMainWindow
@@ -128,7 +126,6 @@ public slots:
 
   DataViewer& operator=(const DataViewer& v) {return *this;}
 
-  DataViewerToolWidgetContainer* container_;
   ViewerPanel* panel_;
 
   OverlayManagerPtr ov_manager_;
@@ -136,7 +133,6 @@ public slots:
 
   InfoPanel* info_;
   Argand* argand_;
-  FFTPanel* fft_;
   
   QLabel* zoomlabel_;
   QLabel* slablabel_;
diff --git a/modules/gui/src/data_viewer/widget_layer_item.cc b/modules/gui/src/data_viewer/widget_layer_item.cc
index 1389a13c76394eb0f216302acee0f893e516cfa1..f6bcaab9c49ee1f24b9d8a6dee8cd0a6ef69ab34 100644
--- a/modules/gui/src/data_viewer/widget_layer_item.cc
+++ b/modules/gui/src/data_viewer/widget_layer_item.cc
@@ -26,12 +26,15 @@
 #include <QPainter>
 #include "widget_layer_item.hh"
 #include <QGraphicsProxyWidget>
+#include <QGraphicsAnchorLayout>
 
 namespace ost { namespace img { namespace gui {
 
 WidgetLayerItem::WidgetLayerItem(QGraphicsItem* parent):
-  QGraphicsItem(parent)
+  QGraphicsWidget(parent)
 {
+  setLayout(new QGraphicsAnchorLayout);
+  dynamic_cast<QGraphicsAnchorLayout*>(layout())->setSpacing(25);
 }
 
 void WidgetLayerItem::paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
@@ -49,14 +52,28 @@ void WidgetLayerItem::AddWidget(QWidget* widget)
   proxy->setWidget(widget);
   proxy->setFlag(QGraphicsItem::ItemIsMovable);
   proxy->setOpacity(0.9);
-  proxy->setPos(30,30);
+//  proxy->setPos(30,30);
+  add_widget_to_layout(proxy);
 }
 void WidgetLayerItem::AddWidget(QGraphicsWidget* widget)
 {
-  widget->setParentItem(this);
   widget->setFlag(QGraphicsItem::ItemIsMovable);
   widget->setOpacity(0.9);
-  widget->setPos(30,30);
+  //widget->setPos(30,30);
+  add_widget_to_layout(widget);
+}
+
+
+
+void WidgetLayerItem::add_widget_to_layout(QGraphicsWidget* widget)
+{
+  if(layout()->count()>=1){
+  QGraphicsLayoutItem* last=layout()->itemAt(layout()->count()-1);
+  dynamic_cast<QGraphicsAnchorLayout*>(layout())->addCornerAnchors(last, Qt::BottomLeftCorner, widget, Qt::TopLeftCorner);
+  dynamic_cast<QGraphicsAnchorLayout*>(layout())->addCornerAnchors(last, Qt::BottomRightCorner, widget, Qt::TopRightCorner);
+  }else{
+    dynamic_cast<QGraphicsAnchorLayout*>(layout())->addCornerAnchors(layout(), Qt::TopLeftCorner, widget, Qt::TopLeftCorner);
+  }
 }
 
 }}} //ns
diff --git a/modules/gui/src/data_viewer/widget_layer_item.hh b/modules/gui/src/data_viewer/widget_layer_item.hh
index c79aabc4d08c5be4dcc37d503f493f9fa409e8aa..215f3832cf4bec24b5b6b565ae39701a67a91565 100644
--- a/modules/gui/src/data_viewer/widget_layer_item.hh
+++ b/modules/gui/src/data_viewer/widget_layer_item.hh
@@ -25,10 +25,10 @@
 #ifndef WIDGET_LAYER_ITEM_HH
 #define WIDGET_LAYER_ITEM_HH
 
-#include <QGraphicsItem>
+#include <QGraphicsWidget>
 namespace ost { namespace img { namespace gui {
 
-class WidgetLayerItem : public QGraphicsItem
+class WidgetLayerItem : public QGraphicsWidget
 {
 public:
   WidgetLayerItem(QGraphicsItem* parent=0);
@@ -36,6 +36,8 @@ public:
   virtual QRectF boundingRect() const;
   virtual void AddWidget(QWidget* widget);
   virtual void AddWidget(QGraphicsWidget* widget);
+protected:
+  void add_widget_to_layout(QGraphicsWidget* widget);
 };
 
 }}} //ns