DrawingArea refactored