diff --git a/Sample.hs b/Sample.hs
new file mode 100644
--- /dev/null
+++ b/Sample.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE Haskell2010
+    , TemplateHaskell
+    , FlexibleContexts
+ #-}
+{-# OPTIONS -ddump-splices #-}
+
+module Main where
+
+import qualified Data.Name
+import Data.NamedRecord
+import Data.Word
+
+
+import Sample2
+
+name "firstName"
+name "lastName"
+name "loginName"
+name "password"
+
+
+record "User"
+    `extends` __Person
+    `extends` __Account
+
+    `has` "id"           := ''Word64
+    `has` "emailAddress" := ''String
+
+
+julian = newPerson `set` firstName := "Julian"
+                   `set` lastName  := "Fleischer"
+
+alexander = newUser `set` firstName := "Alexander"
+                    `set` lastName  := "Carnicero"
+                    `set` loginName := "alexander.carnicero"
+
+displayName obj = (obj `get` firstName) ++ " " ++ (obj `get` lastName)
+
+something :: (Property o $(nameT "firstName") String,
+              Property o $(nameT "lastName")  String)
+          => o -> String
+something = displayName
+
diff --git a/Sample2.hs b/Sample2.hs
new file mode 100644
--- /dev/null
+++ b/Sample2.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE Haskell2010, TemplateHaskell #-}
+
+module Sample2 where
+
+import qualified Data.Name
+import Data.NamedRecord
+import Data.Word
+
+
+record "Account"
+    `has` "id"        := ''Word64
+
+    `has` "loginName" := ''String
+    `has` "password"  := ''String
+
+
+record "Person"
+    `has` "id"        := ''Word64
+
+    `has` "firstName" := ''String
+    `has` "lastName"  := ''String
+
+
diff --git a/named-records.cabal b/named-records.cabal
--- a/named-records.cabal
+++ b/named-records.cabal
@@ -1,5 +1,5 @@
 Name:           named-records
-Version:        0.3
+Version:        0.3.1
 Synopsis:       Flexible records with named fields.
 Description:    Flexible records with named fields.
                 .
@@ -17,6 +17,9 @@
                     definition of default values).
                 .
                 [@v0.3@] Records can now extend other records.
+                .
+                [@v0.3.1@] Added sample files to cabal package,
+                    requirements bumped for names-v0.3
                 
 License:        MIT
 License-File:   LICENSE
@@ -27,6 +30,7 @@
 Category:       Data, Records
 Stability:      experimental
 
+Extra-Source-Files: Sample.hs, Sample2.hs
 
 Source-Repository head
     type: darcs
@@ -35,14 +39,15 @@
 Source-Repository head
     type: darcs
     location: hub.darcs.net:names
-    tag: v0.3
+    tag: v0.3.1
 
 
+
 Library
     Exposed-Modules:    Data.NamedRecord
 
     Build-Depends:      base >= 4 && < 5,
-                        names == 0.2.3,
+                        names == 0.3,
                         template-haskell >= 2.7
 
     Hs-Source-Dirs:     src
diff --git a/src/Data/NamedRecord.hs b/src/Data/NamedRecord.hs
--- a/src/Data/NamedRecord.hs
+++ b/src/Data/NamedRecord.hs
@@ -313,7 +313,6 @@
                 return (n, (v', d'))
 
         nFields <- mapM normalize fs
-                    >>= return . sortBy (compare `on` fst)
 
         let fs' = sortBy (compare `on` fst) (concat (nFields : xs))
 
