diff --git a/doc/design.txt b/doc/design.txt
index 92c5a5a8ed04a9fa3097095e7f0cd4a56da61f71..5e312b2b4ea0ff9384f13d0ace72a08536450631 100644
--- a/doc/design.txt
+++ b/doc/design.txt
@@ -6,29 +6,36 @@ design decisions and a coarse description of the design.
 Goals:
  * A functional tiling window management extension for kwin
  * Automatic layouts should be supported:
-   * Spiral layout
-   * Two columns/rows
+   * Spiral layout (SpiralLayout)
+   * Two columns/rows (HalfLayout)
+   * Rows only (BladeLayout)
    * Regular grid?
    * ...
  * Different layouts for different desktops/screens
  * A number of different layouts as well as a possibility to disable tiling for
    a certain screen/desktop combination
  * The possibility to make some windows floating (remove them from the layout)
+   Both with a keybinding and a menu entry
  * Tab groups should be handled correctly (a complete tab group forms one tile)
  * Individual windows should be resizable and the whole layout should be updated
    accordingly
  * Windows should be selected and moved/resized in the layout and between
    screens and desktops using the keyboard or the mouse
  * Tiled windows should always be drawn below floating ones
- * Window borders should maybe be reduced (like with maximized windows) when
-   being tiled, or should be completely hidden with a shortcut to show the
-   title bar of the active window (possibly configurable?)
+   and fullscreen windows should always be on top
+ * Window borders can be disabled when being tiled, 
+   and can be reactivated per-window with a shortcut
  * Some windows cannot be tiled properly (dialogs, non resizable windows, etc.),
    those should automatically be made floating.
+   This can be configured (by window-class currently), and there is one app-specific workaround for steam
+   as it doesn't set the window-class or type (dialog etc) properly
  ** Also keep a configurable list with sensible defaults (nobody wants yakuake to float)
+ * Multiscreen setups should work correctly
+ * Activities are a distant TODO
 
 Design decisions:
- * TODO
+ * tiled windows at the bottom, floating windows over that, fullscreen or maximized windows on top (may add options on request)
+ * floating or fullscreen windows aren't kept track of in the script
 
 Design description:
  * TileList: KWin doesn't give us any information about tab groups, so we have
@@ -36,6 +43,7 @@ Design description:
    all clients in a tab. This information needs to be kept up-to-date on tab
    group changes as well. The code related to this is in tilelist.js which
    contains a class which keeps track of all tab groups in the system.
+   This is where newly opened windows are first added.
  * Tile: Various window signals (resizing, moving, maximizing etc.) have to be
    reacted to, this class binds handlers to these signals and filters them as
    necessary (e.g. intermediate steps in a resize operation are not interesting
@@ -46,7 +54,16 @@ Design description:
    a different tile. The different kinds of layouts are classes derived from
    this class.
    Floating windows are _not_ handled in layouts or tiles.
- * Tiling: The main class which contains a list of the current layouts (one per
+ * TilingManager: The main class which contains a list of the current layouts (one per
    screen/desktop combination) and which registers global keyboard shortcuts and
    some global events (e.g. screen count changes).
- * The layout switcher is implemented in QML.
+ * Tiling (also referenced as "Layout" in TilingManager): This is essentially one desktop per screen and makes changing layouts at runtime possible
+ * There is currently no layout switcher (but it could be implemented in QML).
+
+ The class relationship as cool ASCII-Art:
+
+ 	 	   			TilingManager
+					/			\
+				Tiling			TileList
+				/	  \		   /
+			Layout       Tile