diff --git a/Control/Search/Local/Transformation.hs b/Control/Search/Local/Transformation.hs
--- a/Control/Search/Local/Transformation.hs
+++ b/Control/Search/Local/Transformation.hs
@@ -67,20 +67,27 @@
     (rs,g') = makeLimitedRands g $ length ns 
     ns' = map (nShuffle g') (shuffle (rs :: [Int]) ns)
 
-{- | Recursive neighbourhood ordering transformation. Could be reimplemented in 
-the future in a similar way to improvement, with a single level 
-transformation, this would allow odd combinations in lists to be used in 
-other multi-apply configurations. -}
+{- | Single level neighbourhood ordering transformation. -}
+sSort :: Ord nme=>LSTree nme -> LSTree nme
+sSort t = LSTree (treeNodeName t) (sort (treeNodeChildren t))
 
+{- | Recursive neighbourhood ordering transformation. Implemented using multi-apply. -}
+
 nSort :: Ord nme=>LSTree nme -> LSTree nme 
-nSort t = let ns = sort (treeNodeChildren t)
-          in LSTree (treeNodeName t) ns
+nSort = multiLevelApply (repeat sSort)
 
-{- | Reversal, recursive again. To be used in combination with sorting to 
-   place in ascending or descending order, depending on what you want. -}
+{- | Single level reversal of neighbourhood order. To be used in conjunction with sorting for moving
+     between finding largest and smallest elements. -}
 
+sReverse :: LSTree nme -> LSTree nme 
+sReverse t = LSTree (treeNodeName t) (reverse $ treeNodeChildren t)
+
+{- | Recursive neighbourhood reversal transformation. Implemented using multi-apply. -}
+
 nReverse :: LSTree nme -> LSTree nme 
-nReverse t = LSTree (treeNodeName t) (reverse $ treeNodeChildren t)
+nReverse = multiLevelApply (repeat sReverse)
+
+
 
 {- |  A simple (very simple) TABU system. Based upon a limited Queue, and 
 direct node comparison (not the way it is usually used in the OR 
diff --git a/local-search.cabal b/local-search.cabal
--- a/local-search.cabal
+++ b/local-search.cabal
@@ -1,5 +1,5 @@
 Name:              local-search 
-Version:           0.0.2
+Version:           0.0.3
 Synopsis:          A first attempt at generalised local search within Haskell, for applications in combinatorial optimisation. 
 Description:       This library represents a first attempt at creating a generalised library for
                    local (non-exhaustive) search in Haskell.  It is based on work presented to
