diff --git a/MetaModule.hs b/MetaModule.hs
index 4475c498..cb1922a5 100644
--- a/MetaModule.hs
+++ b/MetaModule.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.MetaModule
+-- Module      :  XMonad.MetaModule
 -- Copyright   :  (c) 2007  Spencer Janssen <sjanssen@cse.unl.edu>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -8,7 +8,7 @@
 -- Stability   :  unstable
 -- Portability :  unportable
 --
--- This is an artificial dependency on all the XMonadContrib.* modules.  It is
+-- This is an artificial dependency on all the XMonad.* modules.  It is
 -- intended to help xmonad hackers ensure that contrib modules build after API
 -- changes.
 --
@@ -17,78 +17,78 @@
 -----------------------------------------------------------------------------
 
 
-module XMonadContrib.MetaModule () where
+module XMonad.MetaModule () where
 
-import XMonadContrib.Accordion ()
-import XMonadContrib.Anneal ()
-import XMonadContrib.Circle ()
-import XMonadContrib.Commands ()
-import XMonadContrib.Combo () -- broken under ghc head
-import XMonadContrib.ConstrainedResize ()
-import XMonadContrib.CopyWindow ()
-import XMonadContrib.CycleWS ()
-import XMonadContrib.DeManage ()
-import XMonadContrib.DirectoryPrompt ()
-import XMonadContrib.Dishes ()
-import XMonadContrib.Dmenu ()
-import XMonadContrib.DragPane ()
-import XMonadContrib.DwmPromote ()
-import XMonadContrib.DynamicLog ()
-import XMonadContrib.DynamicWorkspaces ()
-import XMonadContrib.Dzen ()
-import XMonadContrib.EwmhDesktops ()
-import XMonadContrib.FindEmptyWorkspace ()
-import XMonadContrib.FlexibleResize ()
-import XMonadContrib.FlexibleManipulate ()
-import XMonadContrib.FloatKeys ()
-import XMonadContrib.FocusNth ()
-import XMonadContrib.Grid ()
-import XMonadContrib.Invisible ()
--- import XMonadContrib.HintedTile ()
-import XMonadContrib.LayoutCombinators ()
-import XMonadContrib.LayoutModifier ()
-import XMonadContrib.LayoutHints ()
-import XMonadContrib.LayoutScreens ()
-import XMonadContrib.MagicFocus ()
-import XMonadContrib.ManageDocks ()
-import XMonadContrib.ManPrompt ()
--- import XMonadContrib.Magnifier ()
-import XMonadContrib.Maximize ()
--- import XMonadContrib.Mosaic ()
-import XMonadContrib.MosaicAlt ()
-import XMonadContrib.MouseGestures ()
-import XMonadContrib.NamedWindows ()
-import XMonadContrib.NoBorders ()
-import XMonadContrib.ResizableTile ()
-import XMonadContrib.Roledex ()
-import XMonadContrib.RotSlaves ()
-import XMonadContrib.RotView ()
-import XMonadContrib.Run ()
-import XMonadContrib.SetWMName ()
-import XMonadContrib.ShellPrompt ()
-import XMonadContrib.SimpleDate ()
-import XMonadContrib.SinkAll ()
-import XMonadContrib.Spiral ()
-import XMonadContrib.Square ()
-import XMonadContrib.SshPrompt ()
-import XMonadContrib.Submap ()
-import XMonadContrib.SwapWorkspaces ()
-import XMonadContrib.SwitchTrans ()
-import XMonadContrib.Tabbed ()
-import XMonadContrib.TagWindows ()
-import XMonadContrib.ThreeColumns ()
-import XMonadContrib.TilePrime ()
-import XMonadContrib.ToggleLayouts ()
-import XMonadContrib.TwoPane ()
-import XMonadContrib.XMonadPrompt ()
-import XMonadContrib.XPrompt ()
-import XMonadContrib.XPropManage ()
-import XMonadContrib.XSelection ()
-import XMonadContrib.XUtils ()
-import XMonadContrib.Warp ()
-import XMonadContrib.WindowBringer ()
-import XMonadContrib.WindowNavigation ()
-import XMonadContrib.WindowPrompt ()
-import XMonadContrib.WmiiActions ()
-import XMonadContrib.WorkspaceDir ()
-import XMonadContrib.WorkspacePrompt ()
+import XMonad.Accordion ()
+import XMonad.Anneal ()
+import XMonad.Circle ()
+import XMonad.Commands ()
+-- import XMonad.Combo () -- broken under ghc head
+import XMonad.ConstrainedResize ()
+import XMonad.CopyWindow ()
+import XMonad.CycleWS ()
+import XMonad.DeManage ()
+import XMonad.DirectoryPrompt ()
+import XMonad.Dishes ()
+import XMonad.Dmenu ()
+import XMonad.DragPane ()
+import XMonad.DwmPromote ()
+import XMonad.DynamicLog ()
+import XMonad.DynamicWorkspaces ()
+import XMonad.Dzen ()
+import XMonad.EwmhDesktops ()
+import XMonad.FindEmptyWorkspace ()
+import XMonad.FlexibleResize ()
+import XMonad.FlexibleManipulate ()
+import XMonad.FloatKeys ()
+import XMonad.FocusNth ()
+import XMonad.Grid ()
+import XMonad.Invisible ()
+-- import XMonad.HintedTile ()
+-- import XMonad.LayoutCombinators ()
+import XMonad.LayoutModifier ()
+-- import XMonad.LayoutHints ()
+import XMonad.LayoutScreens ()
+import XMonad.MagicFocus ()
+-- import XMonad.ManageDocks ()
+import XMonad.ManPrompt ()
+-- import XMonad.Magnifier ()
+import XMonad.Maximize ()
+-- import XMonad.Mosaic ()
+import XMonad.MosaicAlt ()
+import XMonad.MouseGestures ()
+import XMonad.NamedWindows ()
+import XMonad.NoBorders ()
+import XMonad.ResizableTile ()
+import XMonad.Roledex ()
+import XMonad.RotSlaves ()
+import XMonad.RotView ()
+import XMonad.Run ()
+import XMonad.SetWMName ()
+import XMonad.ShellPrompt ()
+import XMonad.SimpleDate ()
+import XMonad.SinkAll ()
+import XMonad.Spiral ()
+import XMonad.Square ()
+import XMonad.SshPrompt ()
+import XMonad.Submap ()
+import XMonad.SwapWorkspaces ()
+-- import XMonad.SwitchTrans ()
+import XMonad.Tabbed ()
+import XMonad.TagWindows ()
+import XMonad.ThreeColumns ()
+-- import XMonad.TilePrime ()
+import XMonad.ToggleLayouts ()
+import XMonad.TwoPane ()
+import XMonad.XMonadPrompt ()
+import XMonad.XPrompt ()
+import XMonad.XPropManage ()
+import XMonad.XSelection ()
+import XMonad.XUtils ()
+import XMonad.Warp ()
+import XMonad.WindowBringer ()
+import XMonad.WindowNavigation ()
+import XMonad.WindowPrompt ()
+import XMonad.WmiiActions ()
+import XMonad.WorkspaceDir ()
+import XMonad.WorkspacePrompt ()
diff --git a/Commands.hs b/XMonad/Actions/Commands.hs
similarity index 95%
rename from Commands.hs
rename to XMonad/Actions/Commands.hs
index dd97ad56..eaf66241 100644
--- a/Commands.hs
+++ b/XMonad/Actions/Commands.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Commands
+-- Module      :  XMonad.Actions.Commands
 -- Copyright   :  (c) David Glasser 2007
 -- License     :  BSD3
 -- 
@@ -10,11 +10,11 @@
 --
 -- Allows you to run internal xmonad commands (X () actions) using
 -- a dmenu menu in addition to key bindings.  Requires dmenu and
--- the Dmenu XMonadContrib module.
+-- the Dmenu XMonad.Actions module.
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Commands (
+module XMonad.Actions.Commands (
                              -- * Usage
                              -- $usage
                              commandMap,
@@ -28,7 +28,7 @@ module XMonadContrib.Commands (
 import XMonad
 import XMonad.Operations
 import XMonad.StackSet hiding (workspaces)
-import XMonadContrib.Dmenu (dmenu)
+import XMonad.Util.Dmenu (dmenu)
 import XMonad.Layouts
 
 import Control.Monad.Reader
@@ -40,7 +40,7 @@ import Data.Maybe
 --
 -- To use, modify your Config.hs to:
 --
--- >    import XMonadContrib.Commands
+-- >    import XMonad.Actions.Commands
 --
 -- and add a keybinding to the runCommand action:
 --
@@ -58,7 +58,7 @@ import Data.Maybe
 
 -- %def commands :: [(String, X ())]
 -- %def commands = defaultCommands
--- %import XMonadContrib.Commands
+-- %import XMonad.Actions.Commands
 -- %keybind , ((modMask .|. controlMask, xK_y), runCommand commands)
 
 commandMap :: [(String, X ())] -> M.Map String (X ())
diff --git a/ConstrainedResize.hs b/XMonad/Actions/ConstrainedResize.hs
similarity index 88%
rename from ConstrainedResize.hs
rename to XMonad/Actions/ConstrainedResize.hs
index 5e54861b..cb49d0aa 100644
--- a/ConstrainedResize.hs
+++ b/XMonad/Actions/ConstrainedResize.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.ConstrainedResize
+-- Module      :  XMonad.Actions.ConstrainedResize
 -- Copyright   :  (c) Dougal Stanton
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -15,10 +15,10 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ConstrainedResize (
+module XMonad.Actions.ConstrainedResize (
 	-- * Usage
 	-- $usage
-	XMonadContrib.ConstrainedResize.mouseResizeWindow
+	XMonad.Actions.ConstrainedResize.mouseResizeWindow
 ) where
 
 import XMonad
@@ -29,7 +29,7 @@ import Graphics.X11.Xlib.Extras
 -- $usage
 -- Put something like this in your Config.hs file:
 --
--- > import qualified XMonadContrib.ConstrainedResize as Sqr
+-- > import qualified XMonad.Actions.ConstrainedResize as Sqr
 -- > mouseBindings = M.fromList
 -- >     [ ...
 -- >     , ((modMask, button3),               (\w -> focus w >> Sqr.mouseResizeWindow w False))
@@ -38,7 +38,7 @@ import Graphics.X11.Xlib.Extras
 -- The line without the shiftMask replaces the standard mouse resize function call, so it's
 -- not completely necessary but seems neater this way.
 
--- %import qualified XMonadContrib.ConstrainedResize as Sqr
+-- %import qualified XMonad.Actions.ConstrainedResize as Sqr
 -- %mousebind , ((modMask, button3), (\\w -> focus w >> Sqr.mouseResizeWindow w False))
 -- %mousebind , ((modMask .|. shiftMask, button3), (\\w -> focus w >> Sqr.mouseResizeWindow w True))
 
diff --git a/CopyWindow.hs b/XMonad/Actions/CopyWindow.hs
similarity index 95%
rename from CopyWindow.hs
rename to XMonad/Actions/CopyWindow.hs
index 1e825efb..cb6a619f 100644
--- a/CopyWindow.hs
+++ b/XMonad/Actions/CopyWindow.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.CopyWindow
+-- Module      :  XMonad.Actions.CopyWindow
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.CopyWindow (
+module XMonad.Actions.CopyWindow (
                                  -- * Usage
                                  -- $usage
                                  copy, kill1
@@ -29,7 +29,7 @@ import XMonad.StackSet
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 -- 
--- > import XMonadContrib.CopyWindow
+-- > import XMonad.Actions.CopyWindow
 --
 -- > -- mod-[1..9] @@ Switch to workspace N
 -- > -- mod-shift-[1..9] @@ Move client to workspace N
@@ -43,7 +43,7 @@ import XMonad.StackSet
 --
 -- >  , ((modMask .|. shiftMask, xK_c     ), kill1) -- @@ Close the focused window
 
--- %import XMonadContrib.CopyWindow
+-- %import XMonad.Actions.CopyWindow
 -- %keybind -- comment out default close window binding above if you uncomment this:
 -- %keybind , ((modMask .|. shiftMask, xK_c     ), kill1) -- @@ Close the focused window
 -- %keybindlist ++
diff --git a/CycleWS.hs b/XMonad/Actions/CycleWS.hs
similarity index 95%
rename from CycleWS.hs
rename to XMonad/Actions/CycleWS.hs
index 931ed474..6e854bc5 100644
--- a/CycleWS.hs
+++ b/XMonad/Actions/CycleWS.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.CycleWS
+-- Module      :  XMonad.Actions.CycleWS
 -- Copyright   :  (c) Joachim Breitner <mail@joachim-breitner.de>,
 --                    Nelson Elhage <nelhage@mit.edu> (`toggleWS' function)
 -- License     :  BSD3-style (see LICENSE)
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.CycleWS (
+module XMonad.Actions.CycleWS (
                               -- * Usage
                               -- $usage
                               nextWS,
@@ -38,7 +38,7 @@ import XMonad.Operations
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.CycleWS
+-- > import XMonad.Actions.CycleWS
 --
 -- >   , ((modMask,               xK_Right), nextWS)
 -- >   , ((modMask,               xK_Left),  prevWS)
@@ -52,7 +52,7 @@ import XMonad.Operations
 -- >   , ((modMask .|. shiftMask, xK_Left),  shiftToPrev >> prevWS)
 --
 
--- %import XMonadContrib.CycleWS
+-- %import XMonad.Actions.CycleWS
 -- %keybind , ((modMask,               xK_Right), nextWS)
 -- %keybind , ((modMask,               xK_Left),  prevWS)
 -- %keybind , ((modMask .|. shiftMask, xK_Right), shiftToNext)
diff --git a/DeManage.hs b/XMonad/Actions/DeManage.hs
similarity index 91%
rename from DeManage.hs
rename to XMonad/Actions/DeManage.hs
index 39945410..9bff48aa 100644
--- a/DeManage.hs
+++ b/XMonad/Actions/DeManage.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DeManage
+-- Module      :  XMonad.Actions.DeManage
 -- Copyright   :  (c) Spencer Janssen <sjanssen@cse.unl.edu>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -25,7 +25,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DeManage (
+module XMonad.Actions.DeManage (
                                  -- * Usage
                                  -- $usage
                                  demanage
@@ -40,14 +40,14 @@ import Graphics.X11 (Window)
 -- $usage
 -- To use demanage, add this import:
 --
--- >     import XMonadContrib.DeManage
+-- >     import XMonad.Actions.DeManage
 --
 -- And add a keybinding to it:
 --
 -- > , ((modMask,               xK_d     ), withFocused demanage)
 --
 
--- %import XMonadContrib.DeManage
+-- %import XMonad.Actions.DeManage
 -- %keybind , ((modMask,               xK_d     ), withFocused demanage)
 
 -- | Stop managing the current focused window.
diff --git a/DwmPromote.hs b/XMonad/Actions/DwmPromote.hs
similarity index 89%
rename from DwmPromote.hs
rename to XMonad/Actions/DwmPromote.hs
index 7e81e7b4..dfe7cc6e 100644
--- a/DwmPromote.hs
+++ b/XMonad/Actions/DwmPromote.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DwmPromote
+-- Module      :  XMonad.Actions.DwmPromote
 -- Copyright   :  (c) Miikka Koskinen 2007
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -16,7 +16,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DwmPromote (
+module XMonad.Actions.DwmPromote (
                                  -- * Usage
                                  -- $usage 
                                  dwmpromote
@@ -30,13 +30,13 @@ import XMonad.StackSet
 --
 -- To use, modify your Config.hs to:
 --
--- >    import XMonadContrib.DwmPromote
+-- >    import XMonad.Actions.DwmPromote
 --
 -- and add a keybinding or substitute promote with dwmpromote:
 --
 -- >   , ((modMask,               xK_Return), dwmpromote)
 
--- %import XMonadContrib.DwmPromote
+-- %import XMonad.Actions.DwmPromote
 -- %keybind , ((modMask,               xK_Return), dwmpromote)
 
 dwmpromote :: X ()
diff --git a/DynamicWorkspaces.hs b/XMonad/Actions/DynamicWorkspaces.hs
similarity index 95%
rename from DynamicWorkspaces.hs
rename to XMonad/Actions/DynamicWorkspaces.hs
index 34f57f11..6aa3fb92 100644
--- a/DynamicWorkspaces.hs
+++ b/XMonad/Actions/DynamicWorkspaces.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DynamicWorkspaces
+-- Module      :  XMonad.Actions.DynamicWorkspaces
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DynamicWorkspaces (
+module XMonad.Actions.DynamicWorkspaces (
                                          -- * Usage
                                          -- $usage
                                          addWorkspace, removeWorkspace,
@@ -28,13 +28,13 @@ import XMonad ( X, XState(..), Layout, WorkspaceId, WindowSet )
 import XMonad.Operations
 import XMonad.StackSet hiding (filter, modify, delete)
 import Graphics.X11.Xlib ( Window )
-import XMonadContrib.WorkspacePrompt
-import XMonadContrib.XPrompt ( XPConfig )
+import XMonad.Prompt.Workspace
+import XMonad.Prompt ( XPConfig )
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 -- 
--- > import XMonadContrib.DynamicWorkspaces
+-- > import XMonad.Actions.DynamicWorkspaces
 --
 -- >   , ((modMask .|. shiftMask, xK_n), selectWorkspace defaultXPConfig layoutHook)
 -- >   , ((modMask .|. shiftMask, xK_BackSpace), removeWorkspace)
diff --git a/FindEmptyWorkspace.hs b/XMonad/Actions/FindEmptyWorkspace.hs
similarity index 91%
rename from FindEmptyWorkspace.hs
rename to XMonad/Actions/FindEmptyWorkspace.hs
index 27b0de89..a0fb621d 100644
--- a/FindEmptyWorkspace.hs
+++ b/XMonad/Actions/FindEmptyWorkspace.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.FindEmptyWorkspace
+-- Module      :  XMonad.Actions.FindEmptyWorkspace
 -- Copyright   :  (c) Miikka Koskinen 2007
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.FindEmptyWorkspace (
+module XMonad.Actions.FindEmptyWorkspace (
     -- * Usage
     -- $usage
     viewEmptyWorkspace, tagToEmptyWorkspace
@@ -31,7 +31,7 @@ import XMonad.Operations
 -- 
 -- To use, modify your Config.hs to:
 --
--- >   import XMonadContrib.FindEmptyWorkspace
+-- >   import XMonad.Actions.FindEmptyWorkspace
 --
 -- and add a keybinding:
 --
@@ -41,7 +41,7 @@ import XMonad.Operations
 -- Now you can jump to an empty workspace with mod-m. Mod-shift-m will
 -- tag the current window to an empty workspace and view it.
 
--- %import XMonadContrib.FindEmptyWorkspace
+-- %import XMonad.Actions.FindEmptyWorkspace
 -- %keybind , ((modMask,                xK_m    ), viewEmptyWorkspace)
 -- %keybind , ((modMask .|. shiftMask,  xK_m    ), tagToEmptyWorkspace)
 
diff --git a/FlexibleManipulate.hs b/XMonad/Actions/FlexibleManipulate.hs
similarity index 94%
rename from FlexibleManipulate.hs
rename to XMonad/Actions/FlexibleManipulate.hs
index 7c96c770..b7fa25d3 100644
--- a/FlexibleManipulate.hs
+++ b/XMonad/Actions/FlexibleManipulate.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.FlexibleManipulate
+-- Module      :  XMonad.Actions.FlexibleManipulate
 -- Copyright   :  (c) Michael Sloan
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -16,7 +16,7 @@
 
 -- Based on the FlexibleResize code by Lukas Mai (Mauke)
 
-module XMonadContrib.FlexibleManipulate (
+module XMonad.Actions.FlexibleManipulate (
 	-- * Usage
 	-- $usage
 	mouseWindow, discrete, linear, resize, position
@@ -30,7 +30,7 @@ import Graphics.X11.Xlib.Extras
 -- $usage
 -- Add this import to your Config.hs file:
 --
--- > import qualified XMonadContrib.FlexibleManipulate as Flex
+-- > import qualified XMonad.Actions.FlexibleManipulate as Flex
 --
 -- Set one of the mouse button bindings up like this:
 --
@@ -49,7 +49,7 @@ import Graphics.X11.Xlib.Extras
 -- a value between 0 and 1 indicating position, and return a value indicating
 -- the corresponding position if plain Flex.linear was used.
 
--- %import qualified XMonadContrib.FlexibleManipulate as Flex
+-- %import qualified XMonad.Actions.FlexibleManipulate as Flex
 -- %mousebind , ((modMask, button1), (\\w -> focus w >> Flex.mouseWindow Flex.linear w))
 
 discrete, linear, resize, position :: Double -> Double
diff --git a/FlexibleResize.hs b/XMonad/Actions/FlexibleResize.hs
similarity index 89%
rename from FlexibleResize.hs
rename to XMonad/Actions/FlexibleResize.hs
index e6bb3388..9f111f78 100644
--- a/FlexibleResize.hs
+++ b/XMonad/Actions/FlexibleResize.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.FlexibleResize
+-- Module      :  XMonad.Actions.FlexibleResize
 -- Copyright   :  (c) Lukas Mai
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -12,10 +12,10 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.FlexibleResize (
+module XMonad.Actions.FlexibleResize (
 	-- * Usage
 	-- $usage
-	XMonadContrib.FlexibleResize.mouseResizeWindow
+	XMonad.Actions.FlexibleResize.mouseResizeWindow
 ) where
 
 import XMonad
@@ -27,12 +27,12 @@ import Foreign.C.Types
 -- $usage
 -- Put something like this in your Config.hs file:
 --
--- > import qualified XMonadContrib.FlexibleResize as Flex
+-- > import qualified XMonad.Actions.FlexibleResize as Flex
 -- > mouseBindings = M.fromList
 -- >     [ ...
 -- >     , ((modMask, button3), (\w -> focus w >> Flex.mouseResizeWindow w)) ]
 
--- %import qualified XMonadContrib.FlexibleResize as Flex
+-- %import qualified XMonad.Actions.FlexibleResize as Flex
 -- %mousebind , ((modMask, button3), (\\w -> focus w >> Flex.mouseResizeWindow w))
 
 mouseResizeWindow :: Window -> X ()
diff --git a/FloatKeys.hs b/XMonad/Actions/FloatKeys.hs
similarity index 97%
rename from FloatKeys.hs
rename to XMonad/Actions/FloatKeys.hs
index 1f090e6e..52ca90e9 100644
--- a/FloatKeys.hs
+++ b/XMonad/Actions/FloatKeys.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.FloatKeys
+-- Module       : XMonad.Actions.FloatKeys
 -- Copyright    : (c) Karsten Schoelzel <kuser@gmx.de>
 -- License      : BSD
 --
@@ -11,7 +11,7 @@
 -- Move and resize floating windows.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.FloatKeys (
+module XMonad.Actions.FloatKeys (
                 -- * Usage
                 -- $usage
                 keysMoveWindow,
@@ -25,7 +25,7 @@ import Graphics.X11.Xlib
 import Graphics.X11.Xlib.Extras
 
 -- $usage
--- > import XMonadContrib.FloatKeys
+-- > import XMonad.Actions.FloatKeys
 --
 -- >  , ((modMask,               xK_d     ), withFocused (keysResizeWindow (-10,-10) (1,1))) 
 -- >  , ((modMask,               xK_s     ), withFocused (keysResizeWindow (10,10) (1,1))) 
diff --git a/FocusNth.hs b/XMonad/Actions/FocusNth.hs
similarity index 89%
rename from FocusNth.hs
rename to XMonad/Actions/FocusNth.hs
index 28e8e961..42336ef3 100644
--- a/FocusNth.hs
+++ b/XMonad/Actions/FocusNth.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.FocusNth
+-- Module       : XMonad.Actions.FocusNth
 -- Copyright    : (c) Karsten Schoelzel <kuser@gmx.de>
 -- License      : BSD
 --
@@ -11,7 +11,7 @@
 -- Focus the nth window on the screen.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.FocusNth (
+module XMonad.Actions.FocusNth (
                  -- * Usage
                  -- $usage
                  focusNth) where
@@ -21,13 +21,13 @@ import XMonad.Operations
 import XMonad
 
 -- $usage
--- > import XMonadContrib.FocusNth
+-- > import XMonad.Actions.FocusNth
 
 -- > -- mod4-[1..9] @@ Switch to window N
 -- > ++ [((mod4Mask, k), focusNth i)
 -- >     | (i, k) <- zip [0 .. 8] [xK_1 ..]]
 
--- %import XMonadContrib.FocusNth
+-- %import XMonad.Actions.FocusNth
 -- %keybdindextra ++
 -- %keybdindextra -- mod4-[1..9] @@ Switch to window N
 -- %keybdindextra [((mod4Mask, k), focusNth i)
diff --git a/MouseGestures.hs b/XMonad/Actions/MouseGestures.hs
similarity index 96%
rename from MouseGestures.hs
rename to XMonad/Actions/MouseGestures.hs
index 93eea031..32d7e60d 100644
--- a/MouseGestures.hs
+++ b/XMonad/Actions/MouseGestures.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.MouseGestures
+-- Module      :  XMonad.Actions.MouseGestures
 -- Copyright   :  (c) Lukas Mai
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.MouseGestures (
+module XMonad.Actions.MouseGestures (
     -- * Usage
     -- $usage
 	Direction(..),
@@ -34,7 +34,7 @@ import System.IO
 -- $usage
 -- In your Config.hs:
 --
--- > import XMonadContrib.MouseGestures
+-- > import XMonad.Actions.MouseGestures
 -- > ...
 -- > mouseBindings = M.fromList $
 -- >     [ ...
diff --git a/RotSlaves.hs b/XMonad/Actions/RotSlaves.hs
similarity index 91%
rename from RotSlaves.hs
rename to XMonad/Actions/RotSlaves.hs
index b5406b01..95ef1f4e 100644
--- a/RotSlaves.hs
+++ b/XMonad/Actions/RotSlaves.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.RotSlaves
+-- Module       : XMonad.Actions.RotSlaves
 -- Copyright    : (c) Hans Philipp Annen <haphi@gmx.net>, Mischa Dieterle <der_m@freenet.de>
 -- License      : BSD3-style (see LICENSE)
 --
@@ -11,7 +11,7 @@
 -- Rotate all windows except the master window 
 -- and keep the focus in place.
 -----------------------------------------------------------------------------
-module XMonadContrib.RotSlaves (
+module XMonad.Actions.RotSlaves (
 	-- $usag
 	rotSlaves', rotSlavesUp, rotSlavesDown,
 	rotAll', rotAllUp, rotAllDown
@@ -25,7 +25,7 @@ import XMonad
 --
 -- To use this module, import it with:
 --
--- > import XMonadContrib.RotSlaves
+-- > import XMonad.Actions.RotSlaves
 --
 -- and add a keybinding:
 --
@@ -33,9 +33,9 @@ import XMonad
 --
 --
 -- This operation will rotate all windows except the master window, while the focus
--- stays where it is. It is useful together with the TwoPane-Layout (see XMonadContrib.TwoPane).
+-- stays where it is. It is useful together with the TwoPane-Layout (see XMonad.Actions.TwoPane).
 
--- %import XMonadContrib.RotSlaves
+-- %import XMonad.Actions.RotSlaves
 -- %keybind , ((modMask .|. shiftMask, xK_Tab   ), rotSlavesUp)
 
 -- | Rotate the windows in the current stack excluding the first one
diff --git a/RotView.hs b/XMonad/Actions/RotView.hs
similarity index 92%
rename from RotView.hs
rename to XMonad/Actions/RotView.hs
index 304eba2f..6d4f8eaa 100644
--- a/RotView.hs
+++ b/XMonad/Actions/RotView.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.RotView
+-- Module      :  XMonad.Actions.RotView
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.RotView (
+module XMonad.Actions.RotView (
                               -- * Usage
                               -- $usage
                               rotView
@@ -30,12 +30,12 @@ import XMonad.Operations
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.RotView
+-- > import XMonad.Actions.RotView
 --
 -- >   , ((modMask .|. shiftMask, xK_Right), rotView True)
 -- >   , ((modMask .|. shiftMask, xK_Left), rotView False)
 
--- %import XMonadContrib.RotView
+-- %import XMonad.Actions.RotView
 -- %keybind , ((modMask .|. shiftMask, xK_Right), rotView True)
 -- %keybind , ((modMask .|. shiftMask, xK_Left), rotView False)
 
diff --git a/SimpleDate.hs b/XMonad/Actions/SimpleDate.hs
similarity index 85%
rename from SimpleDate.hs
rename to XMonad/Actions/SimpleDate.hs
index 6712a5c6..a30d78b0 100644
--- a/SimpleDate.hs
+++ b/XMonad/Actions/SimpleDate.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.SimpleDate
+-- Module      :  XMonad.Actions.SimpleDate
 -- Copyright   :  (c) Don Stewart 2007
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SimpleDate (
+module XMonad.Actions.SimpleDate (
                                  -- * Usage
                                  -- $usage
                                  date
@@ -24,7 +24,7 @@ import XMonad
 -- $usage
 -- To use, modify your Config.hs to:
 --
--- >     import XMonadContrib.SimpleDate
+-- >     import XMonad.Actions.SimpleDate
 --
 -- and add a keybinding:
 --
@@ -32,7 +32,7 @@ import XMonad
 --
 -- a popup date menu will now be bound to mod-d
 
--- %import XMonadContrib.SimpleDate
+-- %import XMonad.Actions.SimpleDate
 -- %keybind , ((modMask,               xK_d     ), date)
 
 date :: X ()
diff --git a/SinkAll.hs b/XMonad/Actions/SinkAll.hs
similarity index 90%
rename from SinkAll.hs
rename to XMonad/Actions/SinkAll.hs
index 9ba9915e..c193ad05 100644
--- a/SinkAll.hs
+++ b/XMonad/Actions/SinkAll.hs
@@ -9,7 +9,7 @@
 -- workspace back into tiling.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SinkAll (
+module XMonad.Actions.SinkAll (
     -- * Usage
     -- $usage
     sinkAll) where
@@ -21,10 +21,10 @@ import XMonad.StackSet
 import Graphics.X11.Xlib
 
 -- $usage
--- > import XMonadContrib.SinkAll
+-- > import XMonad.Actions.SinkAll
 -- > keys = [ ((modMask .|. shiftMask, xK_t), sinkAll) ]
 
--- %import XMonadContrib.SinkAll
+-- %import XMonad.Actions.SinkAll
 -- %keybind , ((modMask .|. shiftMask, xK_t), sinkAll)
 
 sinkAll :: X ()
diff --git a/Submap.hs b/XMonad/Actions/Submap.hs
similarity index 95%
rename from Submap.hs
rename to XMonad/Actions/Submap.hs
index a9a2749c..98d44c63 100644
--- a/Submap.hs
+++ b/XMonad/Actions/Submap.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Submap
+-- Module      :  XMonad.Actions.Submap
 -- Copyright   :  (c) Jason Creighton <jcreigh@gmail.com>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Submap (
+module XMonad.Actions.Submap (
                              -- * Usage
                              -- $usage
                              submap
@@ -43,7 +43,7 @@ anyModifier will not work, because that is a special value passed to XGrabKey()
 and not an actual modifier.
 -}
 
--- %import XMonadContrib.Submap
+-- %import XMonad.Actions.Submap
 -- %keybind , ((modMask, xK_a), submap . M.fromList $
 -- %keybind     [ ((0, xK_n),     spawn "mpc next")
 -- %keybind     , ((0, xK_p),     spawn "mpc prev")
diff --git a/SwapWorkspaces.hs b/XMonad/Actions/SwapWorkspaces.hs
similarity index 91%
rename from SwapWorkspaces.hs
rename to XMonad/Actions/SwapWorkspaces.hs
index 735426fe..3f0ca358 100644
--- a/SwapWorkspaces.hs
+++ b/XMonad/Actions/SwapWorkspaces.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.SwapWorkspaces
+-- Module      :  XMonad.Actions.SwapWorkspaces
 -- Copyright   :  (c) Devin Mullins <me@twifkak.com>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SwapWorkspaces (
+module XMonad.Actions.SwapWorkspaces (
                                      -- * Usage
                                      -- $usage
                                      swapWithCurrent,
@@ -25,7 +25,7 @@ import XMonad.StackSet
 -- $usage
 -- Add this import to your Config.hs:
 --
--- > import XMonadContrib.SwapWorkspaces
+-- > import XMonad.Actions.SwapWorkspaces
 --
 -- Throw this in your keys definition:
 --
@@ -33,7 +33,7 @@ import XMonad.StackSet
 -- > [((modMask .|. controlMask, k), windows $ swapWithCurrent i)
 -- >     | (i, k) <- zip workspaces [xK_1 ..]]
 
--- %import XMonadContrib.SwapWorkspaces
+-- %import XMonad.Actions.SwapWorkspaces
 -- %keybindlist ++
 -- %keybindlist [((modMask .|. controlMask, k), windows $ swapWithCurrent i)
 -- %keybindlist     | (i, k) <- zip workspaces [xK_1 ..]]
diff --git a/TagWindows.hs b/XMonad/Actions/TagWindows.hs
similarity index 96%
rename from TagWindows.hs
rename to XMonad/Actions/TagWindows.hs
index e11b579d..938eb106 100644
--- a/TagWindows.hs
+++ b/XMonad/Actions/TagWindows.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.TagWindows
+-- Module       : XMonad.Actions.TagWindows
 -- Copyright    : (c) Karsten Schoelzel <kuser@gmx.de>
 -- License      : BSD
 --
@@ -11,7 +11,7 @@
 -- Functions for tagging windows and selecting them by tags.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.TagWindows (
+module XMonad.Actions.TagWindows (
                  -- * Usage
                  -- $usage
                  addTag, delTag, unTag,
@@ -34,15 +34,15 @@ import XMonad.Operations (windows, withFocused)
 import Graphics.X11.Xlib
 import Graphics.X11.Xlib.Extras
 
-import XMonadContrib.XPrompt
+import XMonad.Prompt
 import XMonad hiding (workspaces)
 
 -- $usage
 -- 
 -- To use window tags add in your Config.hs:
 --
--- > import XMonadContrib.TagWindows
--- > import XMonadContrib.XPrompt    -- to use tagPrompt
+-- > import XMonad.Actions.TagWindows
+-- > import XMonad.Prompt    -- to use tagPrompt
 -- 
 -- and add keybindings like as follows:
 --
@@ -62,8 +62,8 @@ import XMonad hiding (workspaces)
 -- NOTE: Tags are saved as space seperated string and split with 'unwords' thus
 --       if you add a tag "a b" the window will have the tags "a" and "b" but not "a b".
 
--- %import XMonadContrib.TagWindows
--- %import XMonadContrib.XPrompt        -- to use tagPrompt
+-- %import XMonad.Actions.TagWindows
+-- %import XMonad.Prompt        -- to use tagPrompt
 
 -- set multiple tags for a window at once (overriding any previous tags)
 setTags :: [String] -> Window -> X ()
diff --git a/Warp.hs b/XMonad/Actions/Warp.hs
similarity index 96%
rename from Warp.hs
rename to XMonad/Actions/Warp.hs
index e53b82cd..bc7bacc9 100644
--- a/Warp.hs
+++ b/XMonad/Actions/Warp.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Warp
+-- Module      :  XMonad.Actions.Warp
 -- Copyright   :  (c) daniel@wagner-home.com
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Warp (
+module XMonad.Actions.Warp (
                            -- * Usage
                            -- $usage
                            warpToScreen, 
@@ -44,7 +44,7 @@ my Config.hs:
 Note that warping to a particular screen may change the focus.
 -}
 
--- %import XMonadContrib.Warp
+-- %import XMonad.Actions.Warp
 -- %keybind , ((modMask,   xK_z     ), warpToWindow (1%2) (1%2)) -- @@ Move pointer to currently focused window
 -- %keybindlist ++
 -- %keybindlist -- mod-ctrl-{w,e,r} @@ Move mouse pointer to screen 1, 2, or 3
diff --git a/WindowBringer.hs b/XMonad/Actions/WindowBringer.hs
similarity index 92%
rename from WindowBringer.hs
rename to XMonad/Actions/WindowBringer.hs
index b6020d22..bec4f0af 100644
--- a/WindowBringer.hs
+++ b/XMonad/Actions/WindowBringer.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.WindowBringer
+-- Module      :  XMonad.Actions.WindowBringer
 -- Copyright   :  Devin Mullins <me@twifkak.com>
 -- License     :  BSD-style (see LICENSE)
 --
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WindowBringer (
+module XMonad.Actions.WindowBringer (
                                     -- * Usage
                                     -- $usage
                                     gotoMenu, bringMenu, windowMapWith
@@ -29,21 +29,21 @@ import XMonad.Operations (windows)
 import qualified XMonad.StackSet as W
 import XMonad (X)
 import qualified XMonad as X
-import XMonadContrib.Dmenu (dmenuMap)
-import XMonadContrib.NamedWindows (getName)
+import XMonad.Util.Dmenu (dmenuMap)
+import XMonad.Util.NamedWindows (getName)
 
 -- $usage
 --
 -- Place in your Config.hs:
 --
--- > import XMonadContrib.WindowBringer
+-- > import XMonad.Actions.WindowBringer
 --
 -- and in the keys definition:
 --
 -- > , ((modMask .|. shiftMask, xK_g     ), gotoMenu)
 -- > , ((modMask .|. shiftMask, xK_b     ), bringMenu)
 
--- %import XMonadContrib.WindowBringer
+-- %import XMonad.Actions.WindowBringer
 -- %keybind , ((modMask .|. shiftMask, xK_g     ), gotoMenu)
 -- %keybind , ((modMask .|. shiftMask, xK_b     ), bringMenu)
 
diff --git a/WmiiActions.hs b/XMonad/Actions/WmiiActions.hs
similarity index 92%
rename from WmiiActions.hs
rename to XMonad/Actions/WmiiActions.hs
index 2a827910..d98003bd 100644
--- a/WmiiActions.hs
+++ b/XMonad/Actions/WmiiActions.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.WmiiActions
+-- Module       : XMonad.Actions.WmiiActions
 -- Copyright    : (c) Juraj Hercek <juhe_xmonad@hck.sk>
 -- License      : BSD3
 --
@@ -16,7 +16,7 @@
 -- recompile dmenu afterwards ;-).
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WmiiActions (
+module XMonad.Actions.WmiiActions (
                                  -- * Usage
                                  -- $usage
                                    wmiiActions
@@ -26,8 +26,8 @@ module XMonadContrib.WmiiActions (
                                  ) where
 
 import XMonad
-import XMonadContrib.Dmenu (dmenu, dmenuXinerama)
-import XMonadContrib.Run (runProcessWithInput)
+import XMonad.Util.Dmenu (dmenu, dmenuXinerama)
+import XMonad.Util.Run (runProcessWithInput)
 
 import Control.Monad (filterM, liftM, liftM2)
 import System.Directory (getDirectoryContents, doesFileExist, getPermissions, executable)
@@ -36,7 +36,7 @@ import System.Directory (getDirectoryContents, doesFileExist, getPermissions, ex
 --
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.WmiiActions
+-- > import XMonad.Actions.WmiiActions
 --
 --  and add following to the list of keyboard bindings:
 --
@@ -47,7 +47,7 @@ import System.Directory (getDirectoryContents, doesFileExist, getPermissions, ex
 -- > ,((modMask, xK_a), wmiiActionsXinerama "/home/joe/.wmii-3.5/")
 --
 -- however, make sure you have also xinerama build of dmenu (for more
--- information see "XMonadContrib.Dmenu" extension).
+-- information see "XMonad.Util.Dmenu" extension).
 
 -- | The 'wmiiActions' function takes the file path as a first argument and
 -- executes dmenu with all executables found in the provided path.
diff --git a/DynamicLog.hs b/XMonad/Hooks/DynamicLog.hs
similarity index 97%
rename from DynamicLog.hs
rename to XMonad/Hooks/DynamicLog.hs
index adacc0cb..16f036a2 100644
--- a/DynamicLog.hs
+++ b/XMonad/Hooks/DynamicLog.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DynamicLog
+-- Module      :  XMonad.Hooks.DynamicLog
 -- Copyright   :  (c) Don Stewart <dons@cse.unsw.edu.au>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -18,7 +18,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DynamicLog (
+module XMonad.Hooks.DynamicLog (
     -- * Usage
     -- $usage 
     dynamicLog,
@@ -44,16 +44,16 @@ import Data.List
 import Data.Ord ( comparing )
 import qualified XMonad.StackSet as S
 import Data.Monoid
-import XMonadContrib.NamedWindows
+import XMonad.Util.NamedWindows
 
 -- $usage 
 --
 -- To use, set:
 --
--- >    import XMonadContrib.DynamicLog
+-- >    import XMonad.Hooks.DynamicLog
 -- >    logHook = dynamicLog
 
--- %import XMonadContrib.DynamicLog
+-- %import XMonad.Hooks.DynamicLog
 -- %def -- comment out default logHook definition above if you uncomment any of these:
 -- %def logHook = dynamicLog
 
diff --git a/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops
similarity index 100%
rename from EwmhDesktops.hs
rename to XMonad/Hooks/EwmhDesktops
diff --git a/ManageDocks.hs b/XMonad/Hooks/ManageDocks.hs
similarity index 96%
rename from ManageDocks.hs
rename to XMonad/Hooks/ManageDocks.hs
index 9651c5eb..434701e4 100644
--- a/ManageDocks.hs
+++ b/XMonad/Hooks/ManageDocks.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.ManageDocks
+-- Module       : XMonad.Hooks.ManageDocks
 -- Copyright    : (c) Joachim Breitner <mail@joachim-breitner.de>
 -- License      : BSD
 --
@@ -16,7 +16,7 @@
 -- windows (for example, after you resized or closed a panel), and to toggle the Gap
 -- in a STRUT-aware fashion.
 -----------------------------------------------------------------------------
-module XMonadContrib.ManageDocks (
+module XMonad.Hooks.ManageDocks (
     -- * Usage
     -- $usage
     manageDocksHook
@@ -37,7 +37,7 @@ import Data.Maybe (catMaybes)
 -- $usage
 -- Add the imports to your configuration file and add the mangeHook:
 --
--- > import XMonadContrib.ManageDocks
+-- > import XMonad.Hooks.ManageDocks
 --
 -- > manageHook w _ _ _  = manageDocksHook w
 --
@@ -47,7 +47,7 @@ import Data.Maybe (catMaybes)
 --
 -- > , ((modMask,               xK_b), toggleGap)
 
--- %import XMonadContrib.ManageDocks
+-- %import XMonad.Hooks.ManageDocks
 -- %def -- comment out default manageHook definition above if you uncomment this:
 -- %def manageHook w _ _ _ = manageDocksHook w
 -- %keybind , ((modMask,               xK_b), toggleGap)
diff --git a/SetWMName.hs b/XMonad/Hooks/SetWMName.hs
similarity index 98%
rename from SetWMName.hs
rename to XMonad/Hooks/SetWMName.hs
index 6eddda62..30bb4ce6 100644
--- a/SetWMName.hs
+++ b/XMonad/Hooks/SetWMName.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.SetWMName
+-- Module      :  XMonad.Hooks.SetWMName
 -- Copyright   :  © 2007 Ivan Tarasov <Ivan.Tarasov@gmail.com>
 -- License     :  BSD
 --
@@ -32,7 +32,7 @@
 -- fails miserably by guessing absolutely bogus values.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SetWMName (
+module XMonad.Hooks.SetWMName (
     setWMName) where
 
 import Control.Monad (join)
diff --git a/UrgencyHook.hs b/XMonad/Hooks/UrgencyHook.hs
similarity index 96%
rename from UrgencyHook.hs
rename to XMonad/Hooks/UrgencyHook.hs
index 8f59af82..9163b698 100644
--- a/UrgencyHook.hs
+++ b/XMonad/Hooks/UrgencyHook.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.UrgencyHook
+-- Module      :  XMonad.Hooks.UrgencyHook
 -- Copyright   :  Devin Mullins <me@twifkak.com>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -16,7 +16,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.UrgencyHook (
+module XMonad.Hooks.UrgencyHook (
                                  -- * Usage
                                  -- $usage
                                  withUrgencyHook,
@@ -29,7 +29,7 @@ import {-# SOURCE #-} Config (urgencyHook, logHook)
 import Operations (windows)
 import qualified StackSet as W
 import XMonad
-import XMonadContrib.LayoutModifier
+import XMonad.Layout.LayoutModifier
 
 import Control.Monad (when)
 import Control.Monad.State (gets)
@@ -45,7 +45,7 @@ import Foreign (unsafePerformIO)
 -- $usage
 -- To wire this up, add:
 --
--- > import XMonadContrib.UrgencyHook
+-- > import XMonad.Hooks.UrgencyHook
 --
 -- to your import list in Config. Change your defaultLayout such that
 -- withUrgencyHook is applied along the chain. Mine, for example:
@@ -58,7 +58,7 @@ import Foreign (unsafePerformIO)
 -- messages sent to it. Next, add your actual urgencyHook to Config. This
 -- needs to take a Window and return an X () action. Here's an example:
 --
--- > import XMonadContrib.Dzen
+-- > import XMonad.Util.Dzen
 -- ...
 -- > urgencyHook :: Window -> X ()
 -- > urgencyHook = dzenUrgencyHook (5 `seconds`)
diff --git a/XPropManage.hs b/XMonad/Hooks/XPropManage.hs
similarity index 96%
rename from XPropManage.hs
rename to XMonad/Hooks/XPropManage.hs
index e9468322..245a6a60 100644
--- a/XPropManage.hs
+++ b/XMonad/Hooks/XPropManage.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.XPropManage
+-- Module       : XMonad.Hooks.XPropManage
 -- Copyright    : (c) Karsten Schoelzel <kuser@gmx.de>
 -- License      : BSD
 --
@@ -11,7 +11,7 @@
 -- A ManageHook matching on XProperties.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.XPropManage (
+module XMonad.Hooks.XPropManage (
                  -- * Usage
                  -- $usage
                  xPropManageHook, XPropMatch, pmX, pmP
@@ -30,7 +30,7 @@ import XMonad
 -- 
 -- Add something like the following lines to Config.hs to use this module
 --
--- > import XMonadContrib.XPropManage
+-- > import XMonad.Hooks.XPropManage
 -- 
 -- > manageHook = xPropManageHook xPropMatches 
 -- >
diff --git a/Accordion.hs b/XMonad/Layout/Accordion.hs
similarity index 91%
rename from Accordion.hs
rename to XMonad/Layout/Accordion.hs
index f5c24d82..f844c221 100644
--- a/Accordion.hs
+++ b/XMonad/Layout/Accordion.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Accordion
+-- Module      :  XMonad.Layout.Accordion
 -- Copyright   :  (c) glasser@mit.edu
 -- License     :  BSD
 --
@@ -14,7 +14,7 @@
 -- of the screen.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Accordion (
+module XMonad.Layout.Accordion (
     -- * Usage
     -- $usage
     Accordion(Accordion)) where
@@ -26,10 +26,10 @@ import Graphics.X11.Xlib
 import Data.Ratio
 
 -- $usage
--- > import XMonadContrib.Accordion
+-- > import XMonad.Layout.Accordion
 -- > layouts = [ Layout Accordion ]
 
--- %import XMonadContrib.Accordion
+-- %import XMonad.Layout.Accordion
 -- %layout , Layout Accordion
 
 data Accordion a = Accordion deriving ( Read, Show )
diff --git a/Circle.hs b/XMonad/Layout/Circle.hs
similarity index 94%
rename from Circle.hs
rename to XMonad/Layout/Circle.hs
index d0f343b8..2d85dfc0 100644
--- a/Circle.hs
+++ b/XMonad/Layout/Circle.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Circle
+-- Module      :  XMonad.Layout.Circle
 -- Copyright   :  (c) Peter De Wachter
 -- License     :  BSD-style (see LICENSE)
 --
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Circle (
+module XMonad.Layout.Circle (
                              -- * Usage
                              -- $usage
                              Circle (..)
@@ -28,10 +28,10 @@ import XMonad.StackSet (integrate, peek)
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.Circle
+-- > import XMonad.Layout.Circle
 -- > layouts = [ Layout Circle ]
 
--- %import XMonadContrib.Circle
+-- %import XMonad.Layout.Circle
 
 data Circle a = Circle deriving ( Read, Show )
 
diff --git a/Combo.hs b/XMonad/Layout/Combo.hs
similarity index 96%
rename from Combo.hs
rename to XMonad/Layout/Combo.hs
index 15c71557..a89f281b 100644
--- a/Combo.hs
+++ b/XMonad/Layout/Combo.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Combo
+-- Module      :  XMonad.Layout.Combo
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD-style (see LICENSE)
 -- 
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Combo (
+module XMonad.Layout.Combo (
                             -- * Usage
                             -- $usage 
                             combineTwo,
@@ -26,15 +26,15 @@ import Data.List ( delete, intersect, (\\) )
 import Data.Maybe ( isJust )
 import XMonad
 import XMonad.StackSet ( integrate, Stack(..) )
-import XMonadContrib.Invisible
-import XMonadContrib.WindowNavigation ( MoveWindowToWindow(..) )
+import XMonad.Util.Invisible
+import XMonad.Layout.WindowNavigation ( MoveWindowToWindow(..) )
 import qualified XMonad.StackSet as W ( differentiate )
 
 -- $usage
 --
 -- To use this layout write, in your Config.hs:
 -- 
--- > import XMonadContrib.Combo 
+-- > import XMonad.Layout.Combo 
 -- 
 -- and add something like
 -- 
@@ -62,7 +62,7 @@ import qualified XMonad.StackSet as W ( differentiate )
 -- don't like this, lobby for hierarchical stacks in core xmonad or go
 -- reimelement the core of xmonad yourself.
 
--- %import XMonadContrib.Combo
+-- %import XMonad.Layout.Combo
 -- %layout , combineTwo (TwoPane 0.03 0.5) (tabbed shrinkText defaultTConf) (tabbed shrinkText defaultTConf)
 
 data CombineTwo l l1 l2 a = C2 [a] [a] (l ()) (l1 a) (l2 a)
diff --git a/Dishes.hs b/XMonad/Layout/Dishes.hs
similarity index 92%
rename from Dishes.hs
rename to XMonad/Layout/Dishes.hs
index a1eae210..ecc27db2 100644
--- a/Dishes.hs
+++ b/XMonad/Layout/Dishes.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Dishes
+-- Module      :  XMonad.Layout.Dishes
 -- Copyright   :  (c) Jeremy Apthorp
 -- License     :  BSD-style (see LICENSE)
 --
@@ -15,7 +15,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Dishes (
+module XMonad.Layout.Dishes (
                               -- * Usage
                               -- $usage
                               Dishes (..)
@@ -31,13 +31,13 @@ import Graphics.X11.Xlib
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.Dishes
+-- > import XMonad.Layout.Dishes
 --
 -- and add the following line to your 'layouts'
 --
 -- > , Layout $ Dishes 2 (1%6)
 
--- %import XMonadContrib.Dishes
+-- %import XMonad.Layout.Dishes
 -- %layout , Layout $ Dishes 2 (1%6)
 
 data Dishes a = Dishes Int Rational deriving (Show, Read)
diff --git a/DragPane.hs b/XMonad/Layout/DragPane.hs
similarity index 97%
rename from DragPane.hs
rename to XMonad/Layout/DragPane.hs
index 0ae97617..8428d2b6 100644
--- a/DragPane.hs
+++ b/XMonad/Layout/DragPane.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DragPane
+-- Module      :  XMonad.Layout.DragPane
 -- Copyright   :  (c) Spencer Janssen <sjanssen@cse.unl.edu>
 --                    David Roundy <droundy@darcs.net>,
 --                    Andrea Rossato <andrea.rossato@unibz.it>
@@ -21,7 +21,7 @@
 
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DragPane (
+module XMonad.Layout.DragPane (
                                -- * Usage
                                -- $usage
                                 dragPane
@@ -37,14 +37,14 @@ import Data.Unique
 import XMonad.Layouts
 import XMonad.Operations
 import qualified XMonad.StackSet as W 
-import XMonadContrib.Invisible
-import XMonadContrib.XUtils
+import XMonad.Util.Invisible
+import XMonad.Util.XUtils
 
 -- $usage
 --
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.DragPane
+-- > import XMonad.Layout.DragPane
 --
 --  and add, to the list of layouts:
 --
diff --git a/Grid.hs b/XMonad/Layout/Grid.hs
similarity index 93%
rename from Grid.hs
rename to XMonad/Layout/Grid.hs
index c18f997a..b10a8ac0 100644
--- a/Grid.hs
+++ b/XMonad/Layout/Grid.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Grid
+-- Module      :  XMonad.Layout.Grid
 -- Copyright   :  (c) Lukas Mai
 -- License     :  BSD-style (see LICENSE)
 --
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Grid (
+module XMonad.Layout.Grid (
     -- * Usage
     -- $usage
 	Grid(..)
@@ -27,13 +27,13 @@ import Graphics.X11.Xlib.Types
 -- $usage
 -- Put the following in your Config.hs file:
 --
--- > import XMonadContrib.Grid
+-- > import XMonad.Layout.Grid
 -- > ...
 -- > layouts = [ ...
 -- >                  , Layout Grid
 -- >                  ]
 
--- %import XMonadContrib.Grid
+-- %import XMonad.Layout.Grid
 -- %layout , Layout Grid
 
 data Grid a = Grid deriving (Read, Show)
diff --git a/HintedTile.hs b/XMonad/Layout/HintedTile.hs
similarity index 93%
rename from HintedTile.hs
rename to XMonad/Layout/HintedTile.hs
index c6418969..2ec9d3ca 100644
--- a/HintedTile.hs
+++ b/XMonad/Layout/HintedTile.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.HintedTile
+-- Module      :  XMonad.Layout.HintedTile
 -- Copyright   :  (c) Peter De Wachter <pdewacht@gmail.com>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.HintedTile (
+module XMonad.Layout.HintedTile (
                                  -- * Usage
                                  -- $usage
                                  tall, wide) where
@@ -29,13 +29,13 @@ import Control.Monad
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import qualified XMonadContrib.HintedTile
+-- > import qualified XMonad.Layout.HintedTile
 --
--- > layouts = [ XMonadContrib.HintedTile.tall nmaster delta ratio, ... ]
+-- > layouts = [ XMonad.Layout.HintedTile.tall nmaster delta ratio, ... ]
 
--- %import qualified XMonadContrib.HintedTile
+-- %import qualified XMonad.Layout.HintedTile
 --
--- %layout , XMonadContrib.HintedTile.tall nmaster delta ratio
+-- %layout , XMonad.Layout.HintedTile.tall nmaster delta ratio
 
 -- this sucks
 addBorder, substractBorder :: (Dimension, Dimension) -> (Dimension, Dimension)
diff --git a/LayoutCombinators.hs b/XMonad/Layout/LayoutCombinators.hs
similarity index 97%
rename from LayoutCombinators.hs
rename to XMonad/Layout/LayoutCombinators.hs
index a3684815..4b2aa093 100644
--- a/LayoutCombinators.hs
+++ b/XMonad/Layout/LayoutCombinators.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.LayoutCombinators
+-- Module       : XMonad.Layout.LayoutCombinators
 -- Copyright    : (c) David Roundy <droundy@darcs.net>
 -- License      : BSD
 --
@@ -14,7 +14,7 @@
 -- A module for combining Layouts
 -----------------------------------------------------------------------------
 
-module XMonadContrib.LayoutCombinators (
+module XMonad.Layout.LayoutCombinators (
     -- * Usage
     -- $usage
     (<|>), (</>), (<||>), (<//>), (|||), JumpToLayout(JumpToLayout)
@@ -24,8 +24,8 @@ import Data.Maybe ( isJust )
 
 import XMonad
 import Layouts ( Tall(..), Mirror(..), ChangeLayout(NextLayout) )
-import XMonadContrib.Combo
-import XMonadContrib.DragPane
+import XMonad.Layout.Combo
+import XMonad.Layout.DragPane
 
 -- $usage
 -- Use LayoutCombinators to easily combine Layouts.
diff --git a/LayoutHints.hs b/XMonad/Layout/LayoutHints.hs
similarity index 90%
rename from LayoutHints.hs
rename to XMonad/Layout/LayoutHints.hs
index 8f6f110e..1268b3fe 100644
--- a/LayoutHints.hs
+++ b/XMonad/Layout/LayoutHints.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.LayoutHints
+-- Module       : XMonad.Layout.LayoutHints
 -- Copyright    : (c) David Roundy <droundy@darcs.net>
 -- License      : BSD
 --
@@ -13,7 +13,7 @@
 -- Make layouts respect size hints.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.LayoutHints (
+module XMonad.Layout.LayoutHints (
     -- * usage
     -- $usage
     layoutHints,
@@ -24,13 +24,13 @@ import Graphics.X11.Xlib
 import Graphics.X11.Xlib.Extras ( getWMNormalHints )
 import {-#SOURCE#-} Config (borderWidth)
 import XMonad hiding ( trace )
-import XMonadContrib.LayoutModifier
+import XMonad.Layout.LayoutModifier
 
 -- $usage
--- > import XMonadContrib.LayoutHints
+-- > import XMonad.Layout.LayoutHints
 -- > layouts = [ layoutHints tiled , layoutHints $ Mirror tiled ]
 
--- %import XMonadContrib.LayoutHints
+-- %import XMonad.Layout.LayoutHints
 -- %layout , layoutHints $ tiled
 -- %layout , layoutHints $ Mirror tiled
 
diff --git a/LayoutModifier.hs b/XMonad/Layout/LayoutModifier.hs
similarity index 96%
rename from LayoutModifier.hs
rename to XMonad/Layout/LayoutModifier.hs
index 16bdbcb1..7d8c6159 100644
--- a/LayoutModifier.hs
+++ b/XMonad/Layout/LayoutModifier.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.LayoutModifier
+-- Module       : XMonad.Layout.LayoutModifier
 -- Copyright    : (c) David Roundy <droundy@darcs.net>
 -- License      : BSD
 --
@@ -14,7 +14,7 @@
 -- A module for writing easy Layouts
 -----------------------------------------------------------------------------
 
-module XMonadContrib.LayoutModifier (
+module XMonad.Layout.LayoutModifier (
     -- * Usage
     -- $usage
     LayoutModifier(..), ModifiedLayout(..)
diff --git a/LayoutScreens.hs b/XMonad/Layout/LayoutScreens.hs
similarity index 94%
rename from LayoutScreens.hs
rename to XMonad/Layout/LayoutScreens.hs
index 10e1fc9c..7277681a 100644
--- a/LayoutScreens.hs
+++ b/XMonad/Layout/LayoutScreens.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.LayoutScreens
+-- Module      :  XMonad.Layout.LayoutScreens
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.LayoutScreens (
+module XMonad.Layout.LayoutScreens (
                                     -- * Usage
                                     -- $usage
                                     layoutScreens, fixedLayout
@@ -37,7 +37,7 @@ import Graphics.X11.Xlib.Extras
 --
 -- You can use this module with the following in your Config.hs file:
 -- 
--- > import XMonadContrib.LayoutScreens
+-- > import XMonad.Layout.LayoutScreens
 --
 -- >   , ((modMask .|. shiftMask, xK_space), layoutScreens 2 (TwoPane 0.5 0.5))
 -- >   , ((controlMask .|. modMask .|. shiftMask, xK_space), rescreen)
@@ -46,13 +46,13 @@ import Graphics.X11.Xlib.Extras
 -- work properly (e.g. a VNC X server in my case) and you want to be able
 -- to resize your screen (e.g. to match the size of a remote VNC client):
 -- 
--- > import XMonadContrib.LayoutScreens
+-- > import XMonad.Layout.LayoutScreens
 --
 -- >   , ((modMask .|. shiftMask, xK_space),
 -- >        layoutScreens 1 (fixedLayout $ Rectangle 0 0 1024 768))
 -- >   , ((controlMask .|. modMask .|. shiftMask, xK_space), rescreen)
 
--- %import XMonadContrib.LayoutScreens
+-- %import XMonad.Layout.LayoutScreens
 -- %keybind , ((modMask .|. shiftMask, xK_space), layoutScreens 2 (twoPane 0.5 0.5))
 -- %keybind , ((controlMask .|. modMask .|. shiftMask, xK_space), rescreen)
 
diff --git a/MagicFocus.hs b/XMonad/Layout/MagicFocus.hs
similarity index 91%
rename from MagicFocus.hs
rename to XMonad/Layout/MagicFocus.hs
index 91f38ee8..57e5b7a9 100644
--- a/MagicFocus.hs
+++ b/XMonad/Layout/MagicFocus.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.MagicFocus
+-- Module       : XMonad.Layout.MagicFocus
 -- Copyright    : (c) Peter De Wachter <pdewacht@gmail.com>
 -- License      : BSD
 --
@@ -13,7 +13,7 @@
 -- Automagically put the focused window in the master area.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.MagicFocus 
+module XMonad.Layout.MagicFocus 
     (-- * Usage
      -- $usage
      MagicFocus(MagicFocus)
@@ -24,10 +24,10 @@ import XMonad
 import XMonad.StackSet
 
 -- $usage
--- > import XMonadContrib.MagicFocus
+-- > import XMonad.Layout.MagicFocus
 -- > layouts = [ Layout $ MagicFocus tiled , Layout $ MagicFocus $ Mirror tiled ]
 
--- %import XMonadContrib.MagicFocus
+-- %import XMonad.Layout.MagicFocus
 -- %layout , Layout $ MagicFocus tiled
 -- %layout , Layout $ MagicFocus $ Mirror tiled
 
diff --git a/Magnifier.hs b/XMonad/Layout/Magnifier.hs
similarity index 92%
rename from Magnifier.hs
rename to XMonad/Layout/Magnifier.hs
index 3997d5dc..bcff71dd 100644
--- a/Magnifier.hs
+++ b/XMonad/Layout/Magnifier.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Magnifier
+-- Module      :  XMonad.Layout.Magnifier
 -- Copyright   :  (c) Peter De Wachter 2007
 -- License     :  BSD-style (see xmonad/LICENSE)
 -- 
@@ -17,7 +17,7 @@
 -----------------------------------------------------------------------------
 
 
-module XMonadContrib.Magnifier (
+module XMonad.Layout.Magnifier (
     -- * Usage
     -- $usage
     magnifier, magnifier') where
@@ -25,13 +25,13 @@ module XMonadContrib.Magnifier (
 import Graphics.X11.Xlib (Window, Rectangle(..))
 import XMonad
 import XMonad.StackSet
-import XMonadContrib.LayoutHelpers
+import XMonad.Layout.LayoutHelpers
 
 -- $usage
--- > import XMonadContrib.Magnifier
+-- > import XMonad.Layout.Magnifier
 -- > layouts = [ magnifier tiled , magnifier $ mirror tiled ]
 
--- %import XMonadContrib.Magnifier
+-- %import XMonad.Layout.Magnifier
 -- %layout , magnifier tiled
 -- %layout , magnifier $ mirror tiled
 
diff --git a/Maximize.hs b/XMonad/Layout/Maximize.hs
similarity index 92%
rename from Maximize.hs
rename to XMonad/Layout/Maximize.hs
index 21389171..cf1e938c 100644
--- a/Maximize.hs
+++ b/XMonad/Layout/Maximize.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Maximize
+-- Module      :  XMonad.Layout.Maximize
 -- Copyright   :  (c) 2007 James Webb
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -16,7 +16,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Maximize (
+module XMonad.Layout.Maximize (
         -- * Usage
         -- $usage
         maximize,
@@ -25,13 +25,13 @@ module XMonadContrib.Maximize (
 
 import Graphics.X11.Xlib
 import XMonad
-import XMonadContrib.LayoutModifier
+import XMonad.Layout.LayoutModifier
 import Data.List ( partition )
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.Maximize
+-- > import XMonad.Layout.Maximize
 --
 -- > layouts = ...
 -- >                  , Layout $ maximize $ tiled ...
@@ -41,7 +41,7 @@ import Data.List ( partition )
 -- >        , ((modMask, xK_backslash), withFocused (sendMessage . maximizeRestore))
 -- >        ...
 
--- %import XMonadContrib.Maximize
+-- %import XMonad.Layout.Maximize
 -- %layout , Layout $ maximize $ tiled
 
 data Maximize a = Maximize (Maybe Window) deriving ( Read, Show )
diff --git a/Mosaic.hs b/XMonad/Layout/Mosaic.hs
similarity index 98%
rename from Mosaic.hs
rename to XMonad/Layout/Mosaic.hs
index 8defbc77..aec7aab1 100644
--- a/Mosaic.hs
+++ b/XMonad/Layout/Mosaic.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Mosaic
+-- Module      :  XMonad.Layout.Mosaic
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -15,7 +15,7 @@
 -- ratios configurable at run-time by the user.
 --
 -----------------------------------------------------------------------------
-module XMonadContrib.Mosaic (
+module XMonad.Layout.Mosaic (
                              -- * Usage
                              -- $usage
                              mosaic, expandWindow, shrinkWindow, squareWindow, myclearWindow,
@@ -35,8 +35,8 @@ import Data.List ( sort )
 import Data.Typeable ( Typeable )
 import Control.Monad ( mplus )
 
-import XMonadContrib.NamedWindows
-import XMonadContrib.Anneal
+import XMonad.Util.NamedWindows
+import XMonad.Util.Anneal
 
 -- $usage
 --
@@ -44,7 +44,7 @@ import XMonadContrib.Anneal
 -- 
 -- You can use this module with the following in your Config.hs:
 --
--- > import XMonadContrib.Mosaic
+-- > import XMonad.Layout.Mosaic
 --
 -- > layouts :: [Layout Window]
 -- > layouts = [ mosaic 0.25 0.5 M.empty, full ]
@@ -60,7 +60,7 @@ import XMonadContrib.Anneal
 -- >   , ((controlMask .|. modMask .|. shiftMask, xK_o     ), withNamedWindow (sendMessage . flexibleWindow))
 -- 
 
--- %import XMonadContrib.Mosaic
+-- %import XMonad.Layout.Mosaic
 -- %keybind , ((controlMask .|. modMask .|. shiftMask, xK_h), withNamedWindow (sendMessage . tallWindow))
 -- %keybind , ((controlMask .|. modMask .|. shiftMask, xK_l), withNamedWindow (sendMessage . wideWindow))
 -- %keybind , ((modMask .|. shiftMask, xK_h     ), withNamedWindow (sendMessage . shrinkWindow))
diff --git a/MosaicAlt.hs b/XMonad/Layout/MosaicAlt.hs
similarity index 97%
rename from MosaicAlt.hs
rename to XMonad/Layout/MosaicAlt.hs
index 01290289..a2b9e6a1 100644
--- a/MosaicAlt.hs
+++ b/XMonad/Layout/MosaicAlt.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.MosaicAlt
+-- Module      :  XMonad.Layout.MosaicAlt
 -- Copyright   :  (c) 2007 James Webb
 -- License     :  BSD-style (see xmonad/LICENSE)
 -- 
@@ -17,7 +17,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.MosaicAlt (
+module XMonad.Layout.MosaicAlt (
         -- * Usage:
         -- $usage
         MosaicAlt(..)
@@ -40,7 +40,7 @@ import Graphics.X11.Types ( Window )
 -- $usage
 -- You can use this module with the following in your configuration file:
 --
--- > import XMonadContrib.MosaicAlt
+-- > import XMonad.Layout.MosaicAlt
 --
 -- > layouts = ...
 -- >                  , Layout $ MosaicAlt M.empty
@@ -54,7 +54,7 @@ import Graphics.X11.Types ( Window )
 -- >     , ((modMask .|. controlMask, xK_space), sendMessage resetAlt)
 -- >     ...
 
--- %import XMonadContrib.MosaicAlt
+-- %import XMonad.Layout.MosaicAlt
 -- %layout , Layout $ MosaicAlt M.empty
 
 data HandleWindowAlt =
diff --git a/NoBorders.hs b/XMonad/Layout/NoBorders.hs
similarity index 94%
rename from NoBorders.hs
rename to XMonad/Layout/NoBorders.hs
index a1fdc96b..8aa64fb1 100644
--- a/NoBorders.hs
+++ b/XMonad/Layout/NoBorders.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.NoBorders
+-- Module      :  XMonad.Layout.NoBorders
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -17,7 +17,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.NoBorders (
+module XMonad.Layout.NoBorders (
                                 -- * Usage
                                 -- $usage
                                 noBorders,
@@ -30,14 +30,14 @@ import Control.Monad.Reader (asks)
 import Graphics.X11.Xlib
 
 import XMonad
-import XMonadContrib.LayoutModifier
+import XMonad.Layout.LayoutModifier
 import qualified XMonad.StackSet as W
 import Data.List ((\\))
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.NoBorders
+-- > import XMonad.Layout.NoBorders
 --
 -- and modify the layouts to call noBorders on the layouts you want to lack
 -- borders
@@ -45,7 +45,7 @@ import Data.List ((\\))
 -- > layouts = [ Layout (noBorders Full), ... ]
 --
 
--- %import XMonadContrib.NoBorders
+-- %import XMonad.Layout.NoBorders
 -- %layout -- prepend noBorders to default layouts above to remove their borders, like so:
 -- %layout , noBorders Full
 
diff --git a/ResizableTile.hs b/XMonad/Layout/ResizableTile.hs
similarity index 97%
rename from ResizableTile.hs
rename to XMonad/Layout/ResizableTile.hs
index c41f2252..a70a987a 100644
--- a/ResizableTile.hs
+++ b/XMonad/Layout/ResizableTile.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.ResizableTile
+-- Module      :  XMonad.Layout.ResizableTile
 -- Copyright   :  (c) MATSUYAMA Tomohiro <t.matsuyama.pub@gmail.com>
 -- License     :  BSD-style (see LICENSE)
 --
@@ -15,7 +15,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ResizableTile (
+module XMonad.Layout.ResizableTile (
                                     -- * Usage
                                     -- $usage
                                     ResizableTall(..), MirrorResize(..)
@@ -32,7 +32,7 @@ import Control.Monad
 --
 -- To use, modify your Config.hs to:
 --
--- >    import XMonadContrib.ResizableTile
+-- >    import XMonad.Layout.ResizableTile
 --
 -- and add a keybinding:
 --
diff --git a/Roledex.hs b/XMonad/Layout/Roledex.hs
similarity index 94%
rename from Roledex.hs
rename to XMonad/Layout/Roledex.hs
index 66c58bad..0c4eb5f5 100644
--- a/Roledex.hs
+++ b/XMonad/Layout/Roledex.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Roledex
+-- Module      :  XMonad.Layout.Roledex
 -- Copyright   :  (c) tim.thelion@gmail.com
 -- License     :  BSD
 --
@@ -15,7 +15,7 @@
 -- This is a completely pointless layout which acts like Microsoft's Flip 3D
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Roledex (
+module XMonad.Layout.Roledex (
     -- * Usage
     -- $usage
     Roledex(Roledex)) where
@@ -28,10 +28,10 @@ import Data.Ratio
 
 -- $usage
 --
--- > import XMonadContrib.Roledex 
+-- > import XMonad.Layout.Roledex 
 -- > layouts = [ Layout Roledex ]
 
--- %import XMonadContrib.Roledex
+-- %import XMonad.Layout.Roledex
 -- %layout , Layout Roledex
 
 data Roledex a = Roledex deriving ( Show, Read )
diff --git a/Spiral.hs b/XMonad/Layout/Spiral.hs
similarity index 96%
rename from Spiral.hs
rename to XMonad/Layout/Spiral.hs
index 0aba7387..013a017b 100644
--- a/Spiral.hs
+++ b/XMonad/Layout/Spiral.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Spiral
+-- Module      :  XMonad.Layout.Spiral
 -- Copyright   :  (c) Joe Thornber <joe.thornber@gmail.com>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Spiral (
+module XMonad.Layout.Spiral (
                              -- * Usage
                              -- $usage
                              spiral
@@ -33,11 +33,11 @@ import XMonad.StackSet ( integrate )
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- >   import XMonadContrib.Spiral
+-- >   import XMonad.Layout.Spiral
 --
 -- >   layouts = [ ..., Layout $ spiral (1 % 1), ... ]
 
--- %import XMonadContrib.Spiral
+-- %import XMonad.Layout.Spiral
 -- %layout , Layout $ spiral (1 % 1)
 
 fibs :: [Integer]
diff --git a/Square.hs b/XMonad/Layout/Square.hs
similarity index 89%
rename from Square.hs
rename to XMonad/Layout/Square.hs
index 46ad2e78..e05f549a 100644
--- a/Square.hs
+++ b/XMonad/Layout/Square.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Square
+-- Module      :  XMonad.Layout.Square
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -13,13 +13,13 @@
 -- A layout that splits the screen into a square area and the rest of the
 -- screen.
 -- This is probably only ever useful in combination with 
--- "XMonadContrib.Combo".
+-- "XMonad.Layout.Combo".
 -- It sticks one window in a square region, and makes the rest
 -- of the windows live with what's left (in a full-screen sense).
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Square (
+module XMonad.Layout.Square (
                              -- * Usage
                              -- $usage
                              Square(..) ) where
@@ -31,16 +31,16 @@ import XMonad.StackSet ( integrate )
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- >   import XMonadContrib.Square
+-- >   import XMonad.Layout.Square
 --
--- An example layout using square together with "XMonadContrib.Combo"
+-- An example layout using square together with "XMonad.Layout.Combo"
 -- to make the very last area square:
 --
 -- > , combo (combo (mirror $ twoPane 0.03 0.85),1)] (twoPane 0.03 0.5) )
 -- >                [(twoPane 0.03 0.2,1),(combo [(twoPane 0.03 0.8,1),(square,1)]
 -- >         [(tabbed,3),(tabbed,30),(tabbed,1),(tabbed,1)]
 
--- %import XMonadContrib.Square
+-- %import XMonad.Layout.Square
 
 data Square a = Square deriving ( Read, Show )
 
diff --git a/SwitchTrans.hs b/XMonad/Layout/SwitchTrans.hs
similarity index 98%
rename from SwitchTrans.hs
rename to XMonad/Layout/SwitchTrans.hs
index 30509248..986202e3 100644
--- a/SwitchTrans.hs
+++ b/XMonad/Layout/SwitchTrans.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.SwitchTrans
+-- Module      :  XMonad.Layout.SwitchTrans
 -- Copyright   :  (c) Lukas Mai
 -- License     :  BSD-style (see LICENSE)
 --
@@ -39,7 +39,7 @@
 -- >         ])
 -- >     ) [ Layout tiled ]
 --
--- (The @noBorders@ transformer is from "XMonadContrib.NoBorders".)
+-- (The @noBorders@ transformer is from "XMonad.Layout.NoBorders".)
 --
 -- This example is probably overkill but it's very close to what I actually use.
 -- Anyway, this layout behaves like the default @tiled@ layout, until you send it
@@ -68,7 +68,7 @@
 -- transformer.
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SwitchTrans (
+module XMonad.Layout.SwitchTrans (
     Toggle(..),
     Enable(..),
     Disable(..),
diff --git a/Tabbed.hs b/XMonad/Layout/Tabbed.hs
similarity index 97%
rename from Tabbed.hs
rename to XMonad/Layout/Tabbed.hs
index 0b61cf38..92ef150a 100644
--- a/Tabbed.hs
+++ b/XMonad/Layout/Tabbed.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Tabbed
+-- Module      :  XMonad.Layout.Tabbed
 -- Copyright   :  (c) 2007 David Roundy, Andrea Rossato
 -- License     :  BSD-style (see xmonad/LICENSE)
 -- 
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Tabbed ( 
+module XMonad.Layout.Tabbed ( 
                              -- * Usage:
                              -- $usage
                              tabbed
@@ -35,14 +35,14 @@ import XMonad
 import XMonad.Operations
 import qualified XMonad.StackSet as W
 
-import XMonadContrib.NamedWindows
-import XMonadContrib.Invisible
-import XMonadContrib.XUtils
+import XMonad.Util.NamedWindows
+import XMonad.Util.Invisible
+import XMonad.Util.XUtils
 
 -- $usage
 -- You can use this module with the following in your configuration file:
 --
--- > import XMonadContrib.Tabbed
+-- > import XMonad.Layout.Tabbed
 --
 -- > layouts :: [Layout Window]
 -- > layouts = [ Layout tiled
@@ -65,7 +65,7 @@ import XMonadContrib.XUtils
 -- > layouts = [ ...
 -- >           , Layout $ tabbed shrinkText myTabConfig ]
 
--- %import XMonadContrib.Tabbed
+-- %import XMonad.Layout.Tabbed
 -- %layout , tabbed shrinkText defaultTConf
 
 tabbed :: Shrinker -> TConf -> Tabbed a
diff --git a/ThreeColumns.hs b/XMonad/Layout/ThreeColumns.hs
similarity index 94%
rename from ThreeColumns.hs
rename to XMonad/Layout/ThreeColumns.hs
index 9b10cc4f..2dd2551e 100644
--- a/ThreeColumns.hs
+++ b/XMonad/Layout/ThreeColumns.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.ThreeColumns
+-- Module      :  XMonad.Layout.ThreeColumns
 -- Copyright   :  (c) Kai Grossjohann <kai@emptydomain.de>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ThreeColumns (
+module XMonad.Layout.ThreeColumns (
                               -- * Usage
                               -- $usage
                               ThreeCol(..)
@@ -35,13 +35,13 @@ import Graphics.X11.Xlib
 --
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.ThreeColumns
+-- > import XMonad.Layout.ThreeColumns
 --
 --  and add, to the list of layouts:
 --
 -- > ThreeCol nmaster delta ratio
 
--- %import XMonadContrib.ThreeColumns
+-- %import XMonad.Layout.ThreeColumns
 -- %layout , ThreeCol nmaster delta ratio
 
 data ThreeCol a = ThreeCol Int Rational Rational deriving (Show,Read)
diff --git a/TilePrime.hs b/XMonad/Layout/TilePrime.hs
similarity index 97%
rename from TilePrime.hs
rename to XMonad/Layout/TilePrime.hs
index c939d811..36d54f67 100644
--- a/TilePrime.hs
+++ b/XMonad/Layout/TilePrime.hs
@@ -14,7 +14,7 @@
 -- -----------------------------------------------------------------------------
 --
 
-module XMonadContrib.TilePrime (
+module XMonad.Layout.TilePrime (
     -- * Usage
     -- $usage
     TilePrime(TilePrime)
@@ -32,7 +32,7 @@ import {-#SOURCE#-} Config (borderWidth)
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.TilePrime
+-- > import XMonad.Layout.TilePrime
 --
 -- and add the following line to your 'layouts'
 --
@@ -40,7 +40,7 @@ import {-#SOURCE#-} Config (borderWidth)
 --
 -- Use True as the last argument to get a wide layout.
 
--- %import XMonadContrib.TilePrime
+-- %import XMonad.Layout.TilePrime
 -- %layout , Layout $ TilePrime nmaster delta ratio False
 
 data TilePrime a = TilePrime
diff --git a/ToggleLayouts.hs b/XMonad/Layout/ToggleLayouts.hs
similarity index 97%
rename from ToggleLayouts.hs
rename to XMonad/Layout/ToggleLayouts.hs
index efcaab75..0130cf78 100644
--- a/ToggleLayouts.hs
+++ b/XMonad/Layout/ToggleLayouts.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module       : XMonadContrib.ToggleLayouts
+-- Module       : XMonad.Layout.ToggleLayouts
 -- Copyright    : (c) David Roundy <droundy@darcs.net>
 -- License      : BSD
 --
@@ -14,7 +14,7 @@
 -- A module for writing easy Layouts
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ToggleLayouts (
+module XMonad.Layout.ToggleLayouts (
     -- * Usage
     -- $usage
     toggleLayouts, ToggleLayout(..)
@@ -25,7 +25,7 @@ import XMonad
 -- $usage
 -- Use toggleLayouts to toggle between two layouts.
 --
--- import XMonadContrib.ToggleLayouts
+-- import XMonad.Layout.ToggleLayouts
 --
 -- and add to your layoutHook something like
 --
diff --git a/TwoPane.hs b/XMonad/Layout/TwoPane.hs
similarity index 93%
rename from TwoPane.hs
rename to XMonad/Layout/TwoPane.hs
index 2dc266f6..bca49a72 100644
--- a/TwoPane.hs
+++ b/XMonad/Layout/TwoPane.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.TwoPane
+-- Module      :  XMonad.Layout.TwoPane
 -- Copyright   :  (c) Spencer Janssen <sjanssen@cse.unl.edu>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -16,7 +16,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.TwoPane (
+module XMonad.Layout.TwoPane (
                               -- * Usage
                               -- $usage
                               TwoPane (..)
@@ -30,13 +30,13 @@ import XMonad.StackSet ( focus, up, down)
 --
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.TwoPane
+-- > import XMonad.Layout.TwoPane
 --
 --  and add, to the list of layouts:
 --
 -- > , (Layout $ TwoPane 0.03 0.5)
 
--- %import XMonadContrib.TwoPane
+-- %import XMonad.Layout.TwoPane
 -- %layout , (Layout $ TwoPane 0.03 0.5)
 
 data TwoPane a = 
diff --git a/WindowNavigation.hs b/XMonad/Layout/WindowNavigation.hs
similarity index 97%
rename from WindowNavigation.hs
rename to XMonad/Layout/WindowNavigation.hs
index 05c3bb87..4608ba53 100644
--- a/WindowNavigation.hs
+++ b/XMonad/Layout/WindowNavigation.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.WindowNavigation
+-- Module      :  XMonad.Layout.WindowNavigation
 -- Copyright   :  (c) 2007  David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -15,7 +15,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WindowNavigation ( 
+module XMonad.Layout.WindowNavigation ( 
                                    -- * Usage
                                    -- $usage
                                    windowNavigation, configurableNavigation,
@@ -32,14 +32,14 @@ import Data.List ( nub, sortBy, (\\) )
 import XMonad
 import qualified XMonad.StackSet as W
 import XMonad.Operations ( windows, focus )
-import XMonadContrib.LayoutModifier
-import XMonadContrib.Invisible
-import XMonadContrib.XUtils
+import XMonad.Layout.LayoutModifier
+import XMonad.Util.Invisible
+import XMonad.Util.XUtils
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.WindowNavigation
+-- > import XMonad.Layout.WindowNavigation
 -- >
 -- > layoutHook = Layout $ windowNavigation $ Select ...
 --
@@ -54,7 +54,7 @@ import XMonadContrib.XUtils
 -- >    , ((modMask, xK_Up   ), sendMessage $ Go U)
 -- >    , ((modMask, xK_Down ), sendMessage $ Go D)
 
--- %import XMonadContrib.WindowNavigation
+-- %import XMonad.Layout.WindowNavigation
 -- %keybind , ((modMask,                 xK_Right), sendMessage $ Go R)
 -- %keybind , ((modMask,                 xK_Left ), sendMessage $ Go L)
 -- %keybind , ((modMask,                 xK_Up   ), sendMessage $ Go U)
diff --git a/WorkspaceDir.hs b/XMonad/Layout/WorkspaceDir.hs
similarity index 88%
rename from WorkspaceDir.hs
rename to XMonad/Layout/WorkspaceDir.hs
index a9677419..e5f15cea 100644
--- a/WorkspaceDir.hs
+++ b/XMonad/Layout/WorkspaceDir.hs
@@ -3,7 +3,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.WorkspaceDir
+-- Module      :  XMonad.Layout.WorkspaceDir
 -- Copyright   :  (c) 2007  David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 -- 
@@ -22,7 +22,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WorkspaceDir ( 
+module XMonad.Layout.WorkspaceDir ( 
                                    -- * Usage
                                    -- $usage
                                    workspaceDir, 
@@ -33,15 +33,15 @@ import System.Directory ( setCurrentDirectory )
 
 import XMonad
 import XMonad.Operations ( sendMessage )
-import XMonadContrib.Run ( runProcessWithInput )
-import XMonadContrib.XPrompt ( XPConfig )
-import XMonadContrib.DirectoryPrompt ( directoryPrompt )
-import XMonadContrib.LayoutModifier
+import XMonad.Util.Run ( runProcessWithInput )
+import XMonad.Prompt ( XPConfig )
+import XMonad.Prompt.Directory ( directoryPrompt )
+import XMonad.Layout.LayoutModifier
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.WorkspaceDir
+-- > import XMonad.Layout.WorkspaceDir
 -- >
 -- > layouts = map (workspaceDir "~") [ tiled, ... ]
 --
@@ -49,7 +49,7 @@ import XMonadContrib.LayoutModifier
 --
 -- >  , ((modMask .|. shiftMask, xK_x     ), changeDir defaultXPConfig)
 
--- %import XMonadContrib.WorkspaceDir
+-- %import XMonad.Layout.WorkspaceDir
 -- %keybind , ((modMask .|. shiftMask, xK_x     ), changeDir defaultXPConfig)
 -- %layout -- prepend 'map (workspaceDir "~")' to layouts definition above,
 -- %layout -- just before the list, like the following (don't uncomment next line):
diff --git a/XPrompt.hs b/XMonad/Prompt.hs
similarity index 99%
rename from XPrompt.hs
rename to XMonad/Prompt.hs
index 8df0d2f1..0bd53fbb 100644
--- a/XPrompt.hs
+++ b/XMonad/Prompt.hs
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.XPrompt (
+module XMonad.Prompt (
                              -- * Usage
                              -- $usage
                              mkXPrompt
@@ -46,8 +46,8 @@ import Graphics.X11.Xlib.Extras
 import XMonad  hiding (config, io)
 import XMonad.Operations (initColor)
 import qualified XMonad.StackSet as W
-import XMonadContrib.XUtils
-import XMonadContrib.XSelection (getSelection)
+import XMonad.Util.XUtils
+import XMonad.Util.XSelection (getSelection)
 
 import Control.Arrow ((***),(&&&))
 import Control.Monad.Reader
diff --git a/DirectoryPrompt.hs b/XMonad/Prompt/Directory.hs
similarity index 82%
rename from DirectoryPrompt.hs
rename to XMonad/Prompt/Directory.hs
index a8d58f87..1ceaab8a 100644
--- a/DirectoryPrompt.hs
+++ b/XMonad/Prompt/Directory.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.DirectoryPrompt
+-- Module      :  XMonad.Prompt.Directory
 -- Copyright   :  (C) 2007 Andrea Rossato, David Roundy
 -- License     :  BSD3
 -- 
@@ -12,18 +12,18 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.DirectoryPrompt (
+module XMonad.Prompt.Directory (
                              -- * Usage
                              -- $usage
                              directoryPrompt
                               ) where
 
 import XMonad
-import XMonadContrib.XPrompt
-import XMonadContrib.Run ( runProcessWithInput )
+import XMonad.Prompt
+import XMonad.Util.Run ( runProcessWithInput )
 
 -- $usage
--- For an example usage see "XMonadContrib.WorkspaceDir"
+-- For an example usage see "XMonad.Layout.WorkspaceDir"
 
 data Dir = Dir String
 
diff --git a/ManPrompt.hs b/XMonad/Prompt/Man.hs
similarity index 91%
rename from ManPrompt.hs
rename to XMonad/Prompt/Man.hs
index 2eddb390..5a9f4ef3 100644
--- a/ManPrompt.hs
+++ b/XMonad/Prompt/Man.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -Wall #-}
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.ManPrompt
+-- Module      :  XMonad.Prompt.Man
 -- Copyright   :  (c) 2007 Valery V. Vorotyntsev
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -19,7 +19,7 @@
 --   * test with QuickCheck
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ManPrompt (
+module XMonad.Prompt.Man (
                                 -- * Usage
                                 -- $usage
                                 manPrompt
@@ -27,9 +27,9 @@ module XMonadContrib.ManPrompt (
                                ) where
 
 import XMonad
-import XMonadContrib.XPrompt
-import XMonadContrib.Run
-import XMonadContrib.ShellPrompt (split)
+import XMonad.Prompt
+import XMonad.Util.Run
+import XMonad.Prompt.Shell (split)
 
 import System.Directory
 import System.Process
@@ -43,14 +43,14 @@ import Data.Maybe
 -- $usage
 -- 1. In Config.hs add:
 --
--- > import XMonadContrib.ManPrompt
+-- > import XMonad.Prompt.ManPrompt
 --
 -- 2. In your keybindings add something like:
 --
 -- >     , ((modMask, xK_F1), manPrompt defaultXPConfig) -- mod-f1 %! Query for manual page to be displayed
 
--- %import XMonadContrib.XPrompt
--- %import XMonadContrib.ManPrompt
+-- %import XMonad.Prompt.XPrompt
+-- %import XMonad.Prompt.ManPrompt
 -- %keybind , ((modMask, xK_F1), manPrompt defaultXPConfig)
 
 data Man = Man
diff --git a/ShellPrompt.hs b/XMonad/Prompt/Shell.hs
similarity index 93%
rename from ShellPrompt.hs
rename to XMonad/Prompt/Shell.hs
index 756b2161..dfbfb09b 100644
--- a/ShellPrompt.hs
+++ b/XMonad/Prompt/Shell.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.ShellPrompt
+-- Module      :  XMonad.Prompt.Shell
 -- Copyright   :  (C) 2007 Andrea Rossato
 -- License     :  BSD3
 --
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.ShellPrompt (
+module XMonad.Prompt.Shell(
                              -- * Usage
                              -- $usage
                              shellPrompt
@@ -27,24 +27,24 @@ import Control.Monad
 import Data.List
 import System.Directory
 import System.IO
-import XMonadContrib.Run
+import XMonad.Util.Run
 import XMonad
-import XMonadContrib.XPrompt
+import XMonad.Prompt
 
 -- $usage
 --
 -- 1. In Config.hs add:
 --
--- > import XMonadContrib.XPrompt
--- > import XMonadContrib.ShellPrompt
+-- > import XMonad.Prompt
+-- > import XMonad.Prompt.Shell
 --
 -- 2. In your keybindings add something like:
 --
 -- >   , ((modMask .|. controlMask, xK_x), shellPrompt defaultXPConfig)
 --
 
--- %import XMonadContrib.XPrompt
--- %import XMonadContrib.ShellPrompt
+-- %import XMonad.Prompt
+-- %import XMonad.Prompt.ShellPrompt
 -- %keybind , ((modMask .|. controlMask, xK_x), shellPrompt defaultXPConfig)
 
 data Shell = Shell
diff --git a/SshPrompt.hs b/XMonad/Prompt/Ssh.hs
similarity index 90%
rename from SshPrompt.hs
rename to XMonad/Prompt/Ssh.hs
index 64dd5ef6..9194b27e 100644
--- a/SshPrompt.hs
+++ b/XMonad/Prompt/Ssh.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.SshPrompt
+-- Module      :  XMonad.Prompt.Ssh
 -- Copyright   :  (C) 2007 Andrea Rossato
 -- License     :  BSD3
 --
@@ -12,15 +12,15 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.SshPrompt (
+module XMonad.Prompt.Ssh(
                              -- * Usage
                              -- $usage
                              sshPrompt
                               ) where
 
 import XMonad
-import XMonadContrib.Run
-import XMonadContrib.XPrompt
+import XMonad.Util.Run
+import XMonad.Prompt
 
 import System.Directory
 import System.Environment
@@ -32,16 +32,16 @@ import Data.Maybe
 -- $usage
 -- 1. In Config.hs add:
 --
--- > import XMonadContrib.XPrompt
--- > import XMonadContrib.SshPrompt
+-- > import XMonad.Prompt
+-- > import XMonad.Prompt.SshPrompt
 --
 -- 2. In your keybindings add something like:
 --
 -- >   , ((modMask .|. controlMask, xK_s), sshPrompt defaultXPConfig)
 --
 
--- %import XMonadContrib.XPrompt
--- %import XMonadContrib.SshPrompt
+-- %import XMonad.Prompt
+-- %import XMonad.Prompt.SshPrompt
 -- %keybind , ((modMask .|. controlMask, xK_s), sshPrompt defaultXPConfig)
 
 data Ssh = Ssh
diff --git a/WindowPrompt.hs b/XMonad/Prompt/Window.hs
similarity index 90%
rename from WindowPrompt.hs
rename to XMonad/Prompt/Window.hs
index 5311f15b..2c017ee1 100644
--- a/WindowPrompt.hs
+++ b/XMonad/Prompt/Window.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.WindowPrompt
+-- Module      :  XMonad.Prompt.Window
 -- Copyright   :  Devin Mullins <me@twifkak.com>
 --                Andrea Rossato <andrea.rossato@unibz.it>
 -- License     :  BSD-style (see LICENSE)
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WindowPrompt
+module XMonad.Prompt.Window
     (
     -- * Usage
     -- $usage 
@@ -28,8 +28,8 @@ import Data.List
 import qualified XMonad.StackSet as W
 import XMonad
 import XMonad.Operations (windows)
-import XMonadContrib.XPrompt
-import XMonadContrib.WindowBringer
+import XMonad.Prompt
+import XMonad.Actions.WindowBringer
 
 -- $usage
 -- WindowPrompt brings windows to you and you to windows.
@@ -38,16 +38,16 @@ import XMonadContrib.WindowBringer
 --
 -- Place in your Config.hs:
 --
--- > import XMonadContrib.XPrompt
--- > import XMonadContrib.WindowPrompt
+-- > import XMonad.Prompt
+-- > import XMonad.Prompt.WindowPrompt
 --
 -- and in the keys definition:
 --
 -- > , ((modMask .|. shiftMask, xK_g     ), windowPromptGoto  defaultXPConfig)
 -- > , ((modMask .|. shiftMask, xK_b     ), windowPromptBring defaultXPConfig)
 
--- %import XMonadContrib.XPrompt
--- %import XMonadContrib.WindowPrompt
+-- %import XMonad.Prompt
+-- %import XMonad.Prompt.WindowPrompt
 -- %keybind , ((modMask .|. shiftMask, xK_g     ), windowPromptGoto  defaultXPConfig)
 -- %keybind , ((modMask .|. shiftMask, xK_b     ), windowPromptBring defaultXPConfig)
 
diff --git a/WorkspacePrompt.hs b/XMonad/Prompt/Workspace.hs
similarity index 89%
rename from WorkspacePrompt.hs
rename to XMonad/Prompt/Workspace.hs
index 1087cf03..c05ead0c 100644
--- a/WorkspacePrompt.hs
+++ b/XMonad/Prompt/Workspace.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.WorkspacePrompt
+-- Module      :  XMonad.Prompt.Workspace
 -- Copyright   :  (C) 2007 Andrea Rossato, David Roundy
 -- License     :  BSD3
 -- 
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.WorkspacePrompt (
+module XMonad.Prompt.Workspace (
                              -- * Usage
                              -- $usage
                              workspacePrompt
@@ -21,13 +21,13 @@ module XMonadContrib.WorkspacePrompt (
 import Control.Monad.State ( gets )
 import Data.List ( sort )
 import XMonad hiding ( workspaces )
-import XMonadContrib.XPrompt
+import XMonad.Prompt
 import XMonad.StackSet ( workspaces, tag )
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 -- 
--- > import XMonadContrib.WorkspacePrompt
+-- > import XMonad.Prompt.WorkspacePrompt
 --
 -- >   , ((modMask .|. shiftMask, xK_m     ), workspacePrompt myXPConfig (windows . W.shift))
 
diff --git a/XMonadPrompt.hs b/XMonad/Prompt/XMonad.hs
similarity index 79%
rename from XMonadPrompt.hs
rename to XMonad/Prompt/XMonad.hs
index d60fe671..5effbe47 100644
--- a/XMonadPrompt.hs
+++ b/XMonad/Prompt/XMonad.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.XMonadPrompt
+-- Module      :  XMonad.Prompt.XMonad
 -- Copyright   :  (C) 2007 Andrea Rossato
 -- License     :  BSD3
 -- 
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.XMonadPrompt (
+module XMonad.Prompt.XMonad (
                              -- * Usage
                              -- $usage
                              xmonadPrompt,
@@ -20,23 +20,23 @@ module XMonadContrib.XMonadPrompt (
                               ) where
 
 import XMonad
-import XMonadContrib.XPrompt
-import XMonadContrib.Commands (defaultCommands, runCommand')
+import XMonad.Prompt
+import XMonad.Actions.Commands (defaultCommands, runCommand')
 
 -- $usage
 --
 -- in Config.hs add:
 --
--- > import XMonadContrib.XPrompt
--- > import XMonadContrib.XMonadPrompt
+-- > import XMonad.Prompt
+-- > import XMonad.Prompt.XMonad
 --
 -- in you keybindings add:
 --
 -- >   , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
 --
 
--- %import XMonadContrib.XPrompt
--- %import XMonadContrib.XMonadPrompt
+-- %import XMonad.Prompt
+-- %import XMonad.Prompt.XMonad
 -- %keybind , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
 
 data XMonad = XMonad
diff --git a/Anneal.hs b/XMonad/Util/Anneal.hs
similarity index 95%
rename from Anneal.hs
rename to XMonad/Util/Anneal.hs
index d30c4d9d..68523084 100644
--- a/Anneal.hs
+++ b/XMonad/Util/Anneal.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Anneal
+-- Module      :  XMonad.Util.Anneal
 -- Copyright   :  (c) David Roundy
 -- License     :  BSD-style (see LICENSE)
 --
@@ -12,13 +12,13 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Anneal ( Rated(Rated), the_value, the_rating
+module XMonad.Util.Anneal ( Rated(Rated), the_value, the_rating
                             , anneal, annealMax ) where
 
 import System.Random ( StdGen, Random, mkStdGen, randomR )
 import Control.Monad.State ( State, runState, put, get, gets, modify )
 
--- %import XMonadContrib.Anneal
+-- %import XMonad.Util.Anneal
 
 data Rated a b = Rated !a !b
                  deriving ( Show )
diff --git a/Dmenu.hs b/XMonad/Util/Dmenu.hs
similarity index 90%
rename from Dmenu.hs
rename to XMonad/Util/Dmenu.hs
index 51cca679..8eeb0d97 100644
--- a/Dmenu.hs
+++ b/XMonad/Util/Dmenu.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Dmenu
+-- Module      :  XMonad.Util.Dmenu
 -- Copyright   :  (c) Spencer Janssen <sjanssen@cse.unl.edu>
 -- License     :  BSD-style (see LICENSE)
 --
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Dmenu (
+module XMonad.Util.Dmenu (
                             -- * Usage
                             -- $usage
                             dmenu, dmenuXinerama, dmenuMap
@@ -24,14 +24,14 @@ import XMonad
 import qualified XMonad.StackSet as W
 import qualified Data.Map as M
 import Control.Monad.State
-import XMonadContrib.Run
+import XMonad.Util.Run
 
 -- $usage
 -- You can use this module with the following in your Config.hs file:
 --
--- > import XMonadContrib.Dmenu
+-- > import XMonad.Util.Dmenu
 
--- %import XMonadContrib.Dmenu
+-- %import XMonad.Util.Dmenu
 
 -- | Starts dmenu on the current screen. Requires this patch to dmenu:
 -- <http://www.jcreigh.com/dmenu/dmenu-3.2-xinerama.patch>
diff --git a/Dzen.hs b/XMonad/Util/Dzen.hs
similarity index 92%
rename from Dzen.hs
rename to XMonad/Util/Dzen.hs
index 5853acef..02fce057 100644
--- a/Dzen.hs
+++ b/XMonad/Util/Dzen.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Dzen
+-- Module      :  XMonad.Util.Dzen
 -- Copyright   :  (c) glasser@mit.edu
 -- License     :  BSD
 --
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Dzen (dzen, dzenWithArgs, dzenScreen,
+module XMonad.Util.Dzen (dzen, dzenWithArgs, dzenScreen,
                            dzenUrgencyHook, dzenUrgencyHookWithArgs,
                            seconds) where
 
@@ -24,8 +24,8 @@ import Graphics.X11.Types (Window)
 import qualified XMonad.StackSet as W
 import XMonad
 
-import XMonadContrib.NamedWindows (getName)
-import XMonadContrib.Run (runProcessWithInputAndWait, seconds)
+import XMonad.Util.NamedWindows (getName)
+import XMonad.Util.Run (runProcessWithInputAndWait, seconds)
 
 -- | @dzen str timeout@ pipes @str@ to dzen2 for @timeout@ microseconds.
 -- Example usage:
diff --git a/Invisible.hs b/XMonad/Util/Invisible.hs
similarity index 95%
rename from Invisible.hs
rename to XMonad/Util/Invisible.hs
index 5ee9c256..f387158a 100644
--- a/Invisible.hs
+++ b/XMonad/Util/Invisible.hs
@@ -2,7 +2,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Invisible
+-- Module      :  XMonad.Util.Invisible
 -- Copyright   :  (c) 2007 Andrea Rossato, David Roundy
 -- License     :  BSD-style (see xmonad/LICENSE)
 -- 
@@ -14,7 +14,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Invisible ( 
+module XMonad.Util.Invisible ( 
                              -- * Usage:
                              -- $usage
                              Invisible (..)
diff --git a/NamedWindows.hs b/XMonad/Util/NamedWindows.hs
similarity index 95%
rename from NamedWindows.hs
rename to XMonad/Util/NamedWindows.hs
index 92372554..05613b2c 100644
--- a/NamedWindows.hs
+++ b/XMonad/Util/NamedWindows.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.NamedWindows
+-- Module      :  XMonad.Util.NamedWindows
 -- Copyright   :  (c) David Roundy <droundy@darcs.net>
 -- License     :  BSD3-style (see LICENSE)
 --
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.NamedWindows (
+module XMonad.Util.NamedWindows (
                                    -- * Usage
                                    -- $usage
                                    NamedWindow, 
diff --git a/Run.hs b/XMonad/Util/Run.hs
similarity index 91%
rename from Run.hs
rename to XMonad/Util/Run.hs
index 2e0258c4..39a653aa 100644
--- a/Run.hs
+++ b/XMonad/Util/Run.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.Run
+-- Module      :  XMonad.Util.Run
 -- Copyright   :  (C) 2007 Spencer Janssen, Andrea Rossato, glasser@mit.edu
 -- License     :  BSD-style (see LICENSE)
 --
@@ -9,13 +9,13 @@
 -- Portability :  unportable
 --
 -- This modules provides several commands to run an external process.
--- It is composed of functions formerly defined in XMonadContrib.Dmenu (by
--- Spenver Jannsen), XMonadContrib.Dzen (by glasser@mit.edu) and
--- XMonadContrib.RunInXTerm (by Andrea Rossato).
+-- It is composed of functions formerly defined in XMonad.Util.Dmenu (by
+-- Spenver Jannsen), XMonad.Util.Dzen (by glasser@mit.edu) and
+-- XMonad.Util.RunInXTerm (by Andrea Rossato).
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.Run (
+module XMonad.Util.Run (
                           -- * Usage
                           -- $usage
                           runProcessWithInput,
@@ -38,12 +38,12 @@ import System.Process (runInteractiveProcess, waitForProcess)
 import XMonad
 
 -- $usage
--- For an example usage of runInTerm see XMonadContrib.SshPrompt
+-- For an example usage of runInTerm see XMonad.Prompt.Ssh
 --
 -- For an example usage of runProcessWithInput see
--- XMonadContrib.{DirectoryPrompt,Dmenu,ShellPrompt,WmiiActions,WorkspaceDir}
+-- XMonad.Prompt.{DirectoryPrompt,Dmenu,ShellPrompt,WmiiActions,WorkspaceDir}
 --
--- For an example usage of runProcessWithInputAndWait see XMonadContrib.Dzen
+-- For an example usage of runProcessWithInputAndWait see XMonad.Util.Dzen
 
 -- | Returns Just output if the command succeeded, and Nothing if it didn't.
 -- This corresponds to dmenu's notion of exit code 1 for a cancelled invocation.
diff --git a/XSelection.hs b/XMonad/Util/XSelection.hs
similarity index 99%
rename from XSelection.hs
rename to XMonad/Util/XSelection.hs
index 78d70fe0..00d67238 100644
--- a/XSelection.hs
+++ b/XMonad/Util/XSelection.hs
@@ -15,7 +15,7 @@
 -- $ darcs get "http:\/\/gorgias.mine.nu\/repos\/xmonad-utils"
 -----------------------------------------------------------------------------
 
-module XMonadContrib.XSelection (
+module XMonad.Util.XSelection (
                                  -- * Usage
                                  -- $usage
                                  getSelection,
@@ -38,7 +38,7 @@ import Control.Monad(Monad (return, (>>)), Functor(..), liftM, join)
 import Data.Char (chr, ord)
 import Data.Maybe (fromMaybe)
 import Foreign(Word8, Data.Bits.Bits (shiftL, (.&.), (.|.)))
-import XMonadContrib.Run (safeSpawn, unsafeSpawn)
+import XMonad.Util.Run (safeSpawn, unsafeSpawn)
 import XMonad (X, io)
 
 {- $usage
diff --git a/XUtils.hs b/XMonad/Util/XUtils.hs
similarity index 98%
rename from XUtils.hs
rename to XMonad/Util/XUtils.hs
index 15c89b27..39863893 100644
--- a/XUtils.hs
+++ b/XMonad/Util/XUtils.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  XMonadContrib.XUtils
+-- Module      :  XMonad.Util.XUtils
 -- Copyright   :  (c) 2007 Andrea Rossato
 -- License     :  BSD-style (see xmonad/LICENSE)
 -- 
@@ -12,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonadContrib.XUtils  ( 
+module XMonad.Util.XUtils  ( 
                              -- * Usage:
                              -- $usage
                              stringToPixel
diff --git a/tests/test_SwapWorkspaces.hs b/tests/test_SwapWorkspaces.hs
index cc1ee6d5..dc4c82c0 100644
--- a/tests/test_SwapWorkspaces.hs
+++ b/tests/test_SwapWorkspaces.hs
@@ -6,7 +6,7 @@ import Test.QuickCheck
 
 import StackSet
 import Properties(T, NonNegative)
-import XMonadContrib.SwapWorkspaces
+import XMonad.SwapWorkspaces
 
 -- Ensures that no "loss of information" can happen from a swap.
 prop_double_swap (ss :: T) (t1 :: NonNegative Int) (t2 :: NonNegative Int) =
diff --git a/tests/test_XPrompt.hs b/tests/test_XPrompt.hs
index 11283d7b..f82c0361 100644
--- a/tests/test_XPrompt.hs
+++ b/tests/test_XPrompt.hs
@@ -10,8 +10,8 @@ import Test.QuickCheck
 
 import Data.List
 
-import XMonadContrib.XPrompt
-import qualified XMonadContrib.ShellPrompt as S
+import XMonad.XPrompt
+import qualified XMonad.ShellPrompt as S
  
 instance Arbitrary Char where
     arbitrary     = choose ('\32', '\255')