diff --git a/lib/Data/Time/Clock.hs b/lib/Data/Time/Clock.hs
index e1d108814132a0ab5ffcdcbc3b4595b596f0cfb5..b03e272379edb19e6933b56dc5931921f3104b26 100644
--- a/lib/Data/Time/Clock.hs
+++ b/lib/Data/Time/Clock.hs
@@ -4,15 +4,12 @@ module Data.Time.Clock
     module Data.Time.Clock.Scale,
     module Data.Time.Clock.UTC,
     module Data.Time.Clock.UTCDiff,
-    module Data.Time.Clock
+    getCurrentTime
 ) where
 
 import Data.Time.Clock.Scale
 import Data.Time.Clock.UTCDiff
 import Data.Time.Clock.UTC
 import Data.Time.Clock.POSIX
-import Control.Monad
-
--- | Get the current UTC time from the system clock.
-getCurrentTime :: IO UTCTime
-getCurrentTime = liftM posixSecondsToUTCTime getPOSIXTime
+import Data.Time.Format.Parse()
+import Data.Time.LocalTime()
diff --git a/lib/Data/Time/Clock/POSIX.hs b/lib/Data/Time/Clock/POSIX.hs
index 07411c5e7dd6742dfa00003bcbcbac349c8be8b3..91f22e0891ad9827dbe4698adc4642afe89bb856 100644
--- a/lib/Data/Time/Clock/POSIX.hs
+++ b/lib/Data/Time/Clock/POSIX.hs
@@ -2,7 +2,7 @@
 -- Most people won't need this module.
 module Data.Time.Clock.POSIX
 (
-    posixDayLength,POSIXTime,posixSecondsToUTCTime,utcTimeToPOSIXSeconds,getPOSIXTime
+    posixDayLength,POSIXTime,posixSecondsToUTCTime,utcTimeToPOSIXSeconds,getPOSIXTime,getCurrentTime
 ) where
 
 import Data.Time.Clock.UTC
@@ -64,3 +64,7 @@ ctimevalToPosixSeconds (MkCTimeval s mus) = (fromIntegral s) + (fromIntegral mus
 getPOSIXTime = liftM ctimevalToPosixSeconds getCTimeval
 
 #endif
+
+-- | Get the current UTC time from the system clock.
+getCurrentTime :: IO UTCTime
+getCurrentTime = liftM posixSecondsToUTCTime getPOSIXTime
diff --git a/lib/Data/Time/Clock/Scale.hs b/lib/Data/Time/Clock/Scale.hs
index 8700e32de0942072603297601660918769f719dd..5838b4d1b49d50151d4998545ba48c84074f3913 100644
--- a/lib/Data/Time/Clock/Scale.hs
+++ b/lib/Data/Time/Clock/Scale.hs
@@ -23,12 +23,6 @@ import Data.Data
 
 -- | The Modified Julian Date is the day with the fraction of the day, measured from UT midnight.
 -- It's used to represent UT1, which is time as measured by the earth's rotation, adjusted for various wobbles.
---
--- For the 'Read' instance of 'UniversalTime',
--- import "Data.Time" or "Data.Time.Format".
---
--- For the 'Show' instance of 'UniversalTime',
--- import "Data.Time" or "Data.Time.LocalTime".
 newtype UniversalTime = ModJulianDate {getModJulianDate :: Rational} deriving (Eq,Ord
 #if LANGUAGE_DeriveDataTypeable
 #if LANGUAGE_Rank2Types
diff --git a/lib/Data/Time/Clock/UTC.hs b/lib/Data/Time/Clock/UTC.hs
index 63783e27e9ec64a42f42ebff084e0fa5977bd8fb..eff7f4d2f5ca6f9de8eb3ba79f541e4f53321622 100644
--- a/lib/Data/Time/Clock/UTC.hs
+++ b/lib/Data/Time/Clock/UTC.hs
@@ -28,12 +28,6 @@ import Data.Data
 -- | This is the simplest representation of UTC.
 -- It consists of the day number, and a time offset from midnight.
 -- Note that if a day has a leap second added to it, it will have 86401 seconds.
---
--- For the 'Read' instance of 'UTCTime',
--- import "Data.Time" or "Data.Time.Format".
---
--- For the 'Show' instance of 'UTCTime',
--- import "Data.Time" or "Data.Time.LocalTime".
 data UTCTime = UTCTime {
     -- | the day
     utctDay :: Day,
diff --git a/lib/Data/Time/Format/Parse.hs b/lib/Data/Time/Format/Parse.hs
index 0bd698d2f7df2e6ac57fad7dc46e03a119ec34df..dda7e8fa36ff1cfb330ae52b82073f29739fa62f 100644
--- a/lib/Data/Time/Format/Parse.hs
+++ b/lib/Data/Time/Format/Parse.hs
@@ -15,7 +15,8 @@ module Data.Time.Format.Parse
     ) where
 
 import Data.Time.Clock.POSIX
-import Data.Time.Clock
+import Data.Time.Clock.Scale
+import Data.Time.Clock.UTC
 import Data.Time.Calendar
 import Data.Time.Calendar.OrdinalDate
 import Data.Time.Calendar.WeekDate
diff --git a/lib/Data/Time/LocalTime/LocalTime.hs b/lib/Data/Time/LocalTime/LocalTime.hs
index 360a2c6ae268e0ab1dd3e5803ab29f0483077042..1c47f53a1ed347abca47997a709e16f01621f9d7 100644
--- a/lib/Data/Time/LocalTime/LocalTime.hs
+++ b/lib/Data/Time/LocalTime/LocalTime.hs
@@ -16,7 +16,12 @@ module Data.Time.LocalTime.LocalTime
 import Data.Time.LocalTime.TimeOfDay
 import Data.Time.LocalTime.TimeZone
 import Data.Time.Calendar
-import Data.Time.Clock
+
+import Data.Time.Clock.Scale
+import Data.Time.Clock.UTCDiff
+import Data.Time.Clock.UTC
+import Data.Time.Clock.POSIX
+
 import Control.DeepSeq
 import Data.Typeable
 #if LANGUAGE_Rank2Types
diff --git a/lib/Data/Time/LocalTime/TimeOfDay.hs b/lib/Data/Time/LocalTime/TimeOfDay.hs
index 8e6e7cc65623cca97fcb8c716a278344da7938ea..30e03c9b3327d81ab819d6dcdc5544eb79c52ded 100644
--- a/lib/Data/Time/LocalTime/TimeOfDay.hs
+++ b/lib/Data/Time/LocalTime/TimeOfDay.hs
@@ -12,7 +12,7 @@ module Data.Time.LocalTime.TimeOfDay
 
 import Data.Time.LocalTime.TimeZone
 import Data.Time.Calendar.Private
-import Data.Time.Clock
+import Data.Time.Clock.Scale
 import Control.DeepSeq
 import Data.Typeable
 import Data.Fixed
diff --git a/lib/Data/Time/LocalTime/TimeZone.hs b/lib/Data/Time/LocalTime/TimeZone.hs
index 6c2f39bb8dae6510baf40b21d340cf978702ccb0..177d115fc5932ce96f81726f510eb472ae9e5497 100644
--- a/lib/Data/Time/LocalTime/TimeZone.hs
+++ b/lib/Data/Time/LocalTime/TimeZone.hs
@@ -14,8 +14,8 @@ module Data.Time.LocalTime.TimeZone
 
 --import System.Time.Calendar.Format
 import Data.Time.Calendar.Private
-import Data.Time.Clock
 import Data.Time.Clock.POSIX
+import Data.Time.Clock.UTC
 
 #if __GLASGOW_HASKELL__ >= 709
 import Foreign