diff --git a/http-media.cabal b/http-media.cabal
--- a/http-media.cabal
+++ b/http-media.cabal
@@ -1,5 +1,5 @@
 name:          http-media
-version:       0.5.1
+version:       0.6.0
 license:       MIT
 license-file:  LICENSE
 author:        Timothy Jones
diff --git a/src/Network/HTTP/Media/Language/Internal.hs b/src/Network/HTTP/Media/Language/Internal.hs
--- a/src/Network/HTTP/Media/Language/Internal.hs
+++ b/src/Network/HTTP/Media/Language/Internal.hs
@@ -32,7 +32,7 @@
 --
 -- > language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
 newtype Language = Language [CI ByteString]
-    deriving (Eq)
+    deriving (Eq, Ord)
 
 -- Note that internally, Language [] equates to *.
 
diff --git a/src/Network/HTTP/Media/MediaType/Internal.hs b/src/Network/HTTP/Media/MediaType/Internal.hs
--- a/src/Network/HTTP/Media/MediaType/Internal.hs
+++ b/src/Network/HTTP/Media/MediaType/Internal.hs
@@ -31,7 +31,7 @@
     { mainType   :: CI ByteString  -- ^ The main type of the MediaType
     , subType    :: CI ByteString  -- ^ The sub type of the MediaType
     , parameters :: Parameters     -- ^ The parameters of the MediaType
-    } deriving (Eq)
+    } deriving (Eq, Ord)
 
 instance Show MediaType where
     show = BS.unpack . renderHeader
diff --git a/src/Network/HTTP/Media/Quality.hs b/src/Network/HTTP/Media/Quality.hs
--- a/src/Network/HTTP/Media/Quality.hs
+++ b/src/Network/HTTP/Media/Quality.hs
@@ -26,7 +26,7 @@
 data Quality a = Quality
     { qualityData  :: a
     , qualityValue :: Word16
-    } deriving (Eq)
+    } deriving (Eq, Ord)
 
 instance RenderHeader a => Show (Quality a) where
     show = BS.unpack . renderHeader
