diff --git a/Data/Git/Config.hs b/Data/Git/Config.hs
index 03c7198067092b8fab28c317e7ccefc11801818f..bf037d94060071efded8b2996a4040be8b293f70 100644
--- a/Data/Git/Config.hs
+++ b/Data/Git/Config.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 -- |
 -- Module      : Data.Git.Config
 -- License     : BSD-style
@@ -7,7 +9,6 @@
 --
 -- config related types and methods.
 --
-{-# LANGUAGE OverloadedStrings #-}
 module Data.Git.Config
     ( Config(..)
     , Section(..)
diff --git a/Data/Git/Delta.hs b/Data/Git/Delta.hs
index 8db781f34a45665d145e321f7bf7e5ee68f92d09..5212cede10f9a4f84c77287893fae971e7d4b439 100644
--- a/Data/Git/Delta.hs
+++ b/Data/Git/Delta.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE BangPatterns #-}
+
 -- |
 -- Module      : Data.Git.Delta
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE BangPatterns #-}
 module Data.Git.Delta
     ( Delta(..)
     , DeltaCmd(..)
diff --git a/Data/Git/Index.hs b/Data/Git/Index.hs
index 5d3297fd8bf18869e6b70105ce4b3d89ba459555..8732dec4bdc4ce5f7ca41ceae0b76d2bb48e19e0 100644
--- a/Data/Git/Index.hs
+++ b/Data/Git/Index.hs
@@ -1,6 +1,8 @@
 {-# OPTIONS_GHC -fwarn-missing-signatures -fno-warn-unused-binds #-}
+
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE OverloadedStrings #-}
+
 module Data.Git.Index
     ( IndexEntry( .. )
     , parseIndex
diff --git a/Data/Git/Monad.hs b/Data/Git/Monad.hs
index b3369d291f1193e0eb44e855743932a4ca272b4d..6cdd5bb585f3fc709368f077ea62d308fb1e4dea 100644
--- a/Data/Git/Monad.hs
+++ b/Data/Git/Monad.hs
@@ -1,3 +1,8 @@
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE Rank2Types #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+
 -- |
 -- Module      : Data.Git.Monad
 -- License     : BSD-style
@@ -17,12 +22,6 @@
 --
 -- You can also easily create a new commit: see 'CommitM' and 'withNewCommit'
 --
-
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE Rank2Types #-}
-{-# LANGUAGE TypeSynonymInstances #-}
-
 module Data.Git.Monad
     ( -- * GitMonad
       GitMonad(..)
diff --git a/Data/Git/Named.hs b/Data/Git/Named.hs
index 046426478574bf32241e2da7f8a6200b2c612d34..44bd90288eafa60a52fe2e0cee27c430fca526e5 100644
--- a/Data/Git/Named.hs
+++ b/Data/Git/Named.hs
@@ -1,3 +1,6 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+
 -- |
 -- Module      : Data.Git.Named
 -- License     : BSD-style
@@ -8,8 +11,7 @@
 -- Manipulation of named references
 -- * reading packed-refs file
 -- * reading single heads/tags/remote file
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE ScopedTypeVariables #-}
+--
 module Data.Git.Named
     ( RefSpecTy(..)
     , RefContentTy(..)
diff --git a/Data/Git/OS.hs b/Data/Git/OS.hs
index 9c1b70c412fea8eeb31cc1a287f5fec59fbb8a11..449d8d7bc8584b025ee66ac6c1808dace179cc35 100644
--- a/Data/Git/OS.hs
+++ b/Data/Git/OS.hs
@@ -7,6 +7,7 @@
 --
 -- dealing with operating system / IO related stuff
 -- like file on disk
+--
 module Data.Git.OS
     ( LocalPath
     -- * re-export
diff --git a/Data/Git/Path.hs b/Data/Git/Path.hs
index dc5c662f96cf982d080f75fd5bd5b1394043c17d..329f1bbda7ba61538591624246dda6a71c2af47d 100644
--- a/Data/Git/Path.hs
+++ b/Data/Git/Path.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 -- |
 -- Module      : Data.Git.Path
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE OverloadedStrings #-}
 module Data.Git.Path where
 
 import System.Random
diff --git a/Data/Git/Ref.hs b/Data/Git/Ref.hs
index 7b6301ceebce42ed3ac238a2270c8b2c5e447ca5..5b7584ba2f3b7995aa3d6341e8a9e0222391b0db 100644
--- a/Data/Git/Ref.hs
+++ b/Data/Git/Ref.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- Module      : Data.Git.Ref
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE DeriveDataTypeable #-}
 module Data.Git.Ref
     ( Ref
     , SHA1
diff --git a/Data/Git/Repository.hs b/Data/Git/Repository.hs
index 507232e521f94b9d791560c1e16fbbbb755bc93f..28d7525f35f1ea07be2c4912ab015c145d397da8 100644
--- a/Data/Git/Repository.hs
+++ b/Data/Git/Repository.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE ViewPatterns #-}
 {-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- Module      : Data.Git.Repository
 -- License     : BSD-style
diff --git a/Data/Git/Revision.hs b/Data/Git/Revision.hs
index 42fb472546159bd87eddb733d54200011ed53dad..c8068f03b94a78e5a4fd8e1e2345fff82a12d1c3 100644
--- a/Data/Git/Revision.hs
+++ b/Data/Git/Revision.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- Module      : Data.Git.Revision
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE DeriveDataTypeable #-}
 module Data.Git.Revision
     ( Revision(..)
     , RevModifier(..)
diff --git a/Data/Git/Storage.hs b/Data/Git/Storage.hs
index 7b065b73b02d3fa43f69394ea2de5053a5f690d9..0ae240b66dde65f238e298d3c126f082014c2a7d 100644
--- a/Data/Git/Storage.hs
+++ b/Data/Git/Storage.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE OverloadedStrings #-}
+
 -- |
 -- Module      : Data.Git.Storage
 -- License     : BSD-style
@@ -7,7 +8,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-
 module Data.Git.Storage
     ( Git
     , packedNamed
diff --git a/Data/Git/Storage/CacheFile.hs b/Data/Git/Storage/CacheFile.hs
index 4b53e68a5e6cc1187ae0bd79f56b2cfa2f237103..e01bd21a22b722b8410f5002e21f2bc570346b8b 100644
--- a/Data/Git/Storage/CacheFile.hs
+++ b/Data/Git/Storage/CacheFile.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+
 -- |
 -- Module      : Data.Git.Storage.CacheFile
 -- License     : BSD-style
diff --git a/Data/Git/Storage/FileReader.hs b/Data/Git/Storage/FileReader.hs
index 69bf3471edf9efad371274b7873a07e9ada5d12b..c168def85e9beca9fcaa22cd48ed0d2cdbc7d954 100644
--- a/Data/Git/Storage/FileReader.hs
+++ b/Data/Git/Storage/FileReader.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- Module      : Data.Git.Storage.FileReader
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE DeriveDataTypeable #-}
 module Data.Git.Storage.FileReader
         ( FileReader
         , fileReaderNew
diff --git a/Data/Git/Storage/Loose.hs b/Data/Git/Storage/Loose.hs
index 084d33a5115704ae9e9e8edeb2304dbc9973c90a..026f052748cfd9d4799ab3ee850beca177122ea6 100644
--- a/Data/Git/Storage/Loose.hs
+++ b/Data/Git/Storage/Loose.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings, ScopedTypeVariables, ViewPatterns #-}
+
 -- |
 -- Module      : Data.Git.Storage.Loose
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE OverloadedStrings, ScopedTypeVariables, ViewPatterns #-}
 module Data.Git.Storage.Loose
         (
           Zipped(..)
diff --git a/Data/Git/Storage/Object.hs b/Data/Git/Storage/Object.hs
index 0064744d2656d2af0fbf74daaf7cc0bde4e8e01b..2d403fe807082241732bc33bfeb1eab2869ea267 100644
--- a/Data/Git/Storage/Object.hs
+++ b/Data/Git/Storage/Object.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE CPP #-}
+
 -- |
 -- Module      : Data.Git.Storage.Object
 -- License     : BSD-style
diff --git a/Data/Git/Storage/Pack.hs b/Data/Git/Storage/Pack.hs
index 56f943117be20fdcb098a1e12c19dd02f1a50768..2861a5debbaf7b4b6390f53768e83501ce859ab7 100644
--- a/Data/Git/Storage/Pack.hs
+++ b/Data/Git/Storage/Pack.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 -- |
 -- Module      : Data.Git.Storage.Pack
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE OverloadedStrings #-}
 module Data.Git.Storage.Pack
         ( PackedObjectInfo(..)
         , PackedObjectRaw
diff --git a/Data/Git/Storage/PackIndex.hs b/Data/Git/Storage/PackIndex.hs
index 2b7f1c1677fade6951bc374c434d02fec9223cb8..1e15e73023d68d11d4db0ed9e9db23941dc4c60a 100644
--- a/Data/Git/Storage/PackIndex.hs
+++ b/Data/Git/Storage/PackIndex.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings, BangPatterns #-}
+
 -- |
 -- Module      : Data.Git.Storage.PackIndex
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE OverloadedStrings, BangPatterns #-}
 module Data.Git.Storage.PackIndex
     ( PackIndexHeader(..)
     , PackIndex(..)
diff --git a/Data/Git/Types.hs b/Data/Git/Types.hs
index dd2afe6f2ef6833f669fbe3fd4735fe69fc52840..a4d3d2f1540416ef945412670e6e329664ab5b7f 100644
--- a/Data/Git/Types.hs
+++ b/Data/Git/Types.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- Module      : Data.Git.Object
 -- License     : BSD-style
@@ -5,7 +7,6 @@
 -- Stability   : experimental
 -- Portability : unix
 --
-{-# LANGUAGE DeriveDataTypeable #-}
 module Data.Git.Types
     (
     -- * Type of types
diff --git a/Data/Git/WorkTree.hs b/Data/Git/WorkTree.hs
index d3631d1cea4b0bff275cdf1c2ac225048a51864d..26a24d68511ef29413dae44383f724e0b5534490 100644
--- a/Data/Git/WorkTree.hs
+++ b/Data/Git/WorkTree.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+
 -- |
 -- Module      : Data.Git.WorkTree
 -- License     : BSD-style
diff --git a/tests/Repo.hs b/tests/Repo.hs
index 1e5169f6bb18c0472b90f4003aae2a668c95b6e6..14d4982191ec4e1697fa0feffce64e01f3ecb568 100644
--- a/tests/Repo.hs
+++ b/tests/Repo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+
 import Test.Tasty
 import Test.Tasty.QuickCheck
 
diff --git a/tests/Tests.hs b/tests/Tests.hs
index 060ee4dec57aff97b9300ab7423c0de1ee900410..dd03c18ef54e2f38fef120f28f5976d4aa3b7189 100644
--- a/tests/Tests.hs
+++ b/tests/Tests.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE FlexibleInstances #-}
+
 import Test.Tasty.QuickCheck
 import Test.Tasty