diff --git a/modify-fasta.cabal b/modify-fasta.cabal
--- a/modify-fasta.cabal
+++ b/modify-fasta.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                modify-fasta
-version:             0.8.0.3
+version:             0.8.0.4
 synopsis:            Modify fasta (and CLIP) files in several optional ways
 -- description:         
 homepage:            https://github.com/GregorySchwartz/modify-fasta
diff --git a/src/Diversity.hs b/src/Diversity.hs
--- a/src/Diversity.hs
+++ b/src/Diversity.hs
@@ -9,49 +9,6 @@
 import Data.List
 import qualified Data.Text as T
 
--- Takes two strings, returns Hamming distance
+-- | Takes two strings, returns Hamming distance
 hamming :: T.Text -> T.Text -> Int
 hamming xs ys = length $ filter (not . uncurry (==)) $ T.zip xs ys
-
--- Returns the diversity of a list of things
-diversity :: (Ord b) => Double -> [b] -> Double
-diversity order sample
-    | length sample == 0 = 0
-    | order == 1         = exp . h $ speciesList
-    | otherwise          = (sum . map ((** order) . p_i) $ speciesList) ** pow
-  where
-    pow          = 1 / (1 - order)
-    h            = negate . sum . map (\x -> (p_i x) * (log (p_i x)))
-    p_i x        = ((fromIntegral . length $ x) :: Double) /
-                   ((fromIntegral . length $ sample) :: Double)
-    speciesList  = group . sort $ sample
-
--- Calculates the binary coefficient
-choose :: (Integral a) => a -> a -> a
-choose _ 0 = 1
-choose 0 _ = 0
-choose n k = choose (n - 1) (k - 1) * n `div` k
-
--- Returns the rarefaction curve for each position in a list
-rarefactionCurve :: (Eq a, Ord a) => [a] -> [Double]
-rarefactionCurve xs = map rarefact [1..n_total]
-  where
-    rarefact n
-        | n == 0       = 0
-        | n == 1       = 1
-        | n == n_total = k
-        | otherwise    = k - ((1 / (fromIntegral (choose n_total n))) * inner n)
-    inner n = fromIntegral                              .
-              sum                                       .
-              map (\g -> choose (n_total - length g) n) $
-              grouped
-    n_total = length xs
-    k       = genericLength grouped
-    grouped = group . sort $ xs
-
--- Calculates the percent of the curve that is above 95% of height of the curve
-rarefactionViable :: [Double] -> Double
-rarefactionViable xs = (genericLength valid / genericLength xs) * 100
-  where
-    valid = dropWhile (< (0.95 * last xs)) xs
-
diff --git a/src/FilterCloneList.hs b/src/FilterCloneList.hs
--- a/src/FilterCloneList.hs
+++ b/src/FilterCloneList.hs
@@ -22,7 +22,7 @@
 -- Local
 import Types
 
--- Remove highly mutated sequences (sequences with more than a third of
+-- | Remove highly mutated sequences (sequences with more than a third of
 -- their sequence being mutated).
 filterHighlyMutatedEntry :: GeneticUnit -> CloneEntry -> CloneEntry
 filterHighlyMutatedEntry !genUnit = newEntry
diff --git a/src/FilterCloneMap.hs b/src/FilterCloneMap.hs
--- a/src/FilterCloneMap.hs
+++ b/src/FilterCloneMap.hs
@@ -25,17 +25,17 @@
 import Types
 import Diversity
 
--- Check if the data structure is Right
+-- | Check if the data structure is Right
 isRight' :: Either a b -> Bool
 isRight' (Right _)       = True
 isRight' _               = False
 
--- Altered version of listToMaybe
+-- | Altered version of listToMaybe
 listToMaybe' :: [a] -> Maybe [a]
 listToMaybe' []      = Nothing
 listToMaybe' x       = Just x
 
--- Remove highly mutated sequences (sequences with more than a third of
+-- | Remove highly mutated sequences (sequences with more than a third of
 -- their sequence being mutated).
 filterHighlyMutated :: GeneticUnit -> CloneMap -> (CloneMap, Maybe String)
 filterHighlyMutated !genUnit !cloneMap = (newCloneMap, errorString)
@@ -86,7 +86,7 @@
     readSeq Nucleotide x = Right x
     readSeq AminoAcid x  = translate 1 x
 
--- Replace codons that have more than CodonMut mutations (make them "---"
+-- | Replace codons that have more than CodonMut mutations (make them "---"
 -- codons).
 removeCodonMutCount :: CodonMut -> T.Text -> T.Text -> CloneMap -> CloneMap
 removeCodonMutCount codonMut codonMutType mutType = M.mapWithKey mapRemove
@@ -112,7 +112,7 @@
     isMutType "SILENT" x y      = codon2aa x == codon2aa y
     isMutType _ _ _             = True
 
--- Remove clone sequences that have stop codons in the first stopRange
+-- | Remove clone sequences that have stop codons in the first stopRange
 -- codons
 removeStopsCloneMap :: GeneticUnit
                     -> Int
@@ -148,7 +148,7 @@
     fromEither (Right x)     = x
     fromEither (Left x)      = error (T.unpack x)
 
--- Remove duplicate sequences
+-- | Remove duplicate sequences
 removeDuplicatesCloneMap :: CloneMap -> CloneMap
 removeDuplicatesCloneMap cloneMap = M.map
                                     (filter (`S.member` duplicateSet))
@@ -160,7 +160,7 @@
                  . M.toAscList
                  $ cloneMap
 
--- Remove out of frame sequences
+-- | Remove out of frame sequences
 removeOutOfFrameSeqs :: CloneMap -> CloneMap
 removeOutOfFrameSeqs = M.map (filter isInFrame)
   where
@@ -170,7 +170,7 @@
                . T.filter (\x -> not $ T.isInfixOf (T.singleton x) ".-")
                . fastaSeq
 
--- Remove sequences that do not contain the string customFilter in the
+-- | Remove sequences that do not contain the string customFilter in the
 -- customField location, split by "|". Note that this is 1 indexed and
 -- 0 means to search the entire header for the customFilter. If the
 -- customRemove option is enabled, this function will instead remove
@@ -210,11 +210,11 @@
   where
     filterMap acc (x, y) = removeCustomFilter germ rm x y acc
 
--- Remove clones that do not have any sequences after the filtrations
+-- | Remove clones that do not have any sequences after the filtrations
 removeEmptyClone :: CloneMap -> CloneMap
 removeEmptyClone = M.filter (not . null)
 
--- Convert sequences to amino acids
+-- | Convert sequences to amino acids
 convertToAminoAcidsCloneMap :: CloneMap -> (CloneMap, Maybe String)
 convertToAminoAcidsCloneMap cloneMap = (newCloneMap, errorString)
   where
diff --git a/src/FilterFastaList.hs b/src/FilterFastaList.hs
--- a/src/FilterFastaList.hs
+++ b/src/FilterFastaList.hs
@@ -24,7 +24,7 @@
 -- Local
 import Types
 
--- Remove clone sequences that have stop codons in the first stopRange
+-- | Remove clone sequences that have stop codons in the first stopRange
 -- codons
 hasNoStops :: GeneticUnit
            -> Int
@@ -41,7 +41,7 @@
                     . translate 1
     stop AminoAcid = Right . not . T.isInfixOf "*" . T.take stopRange . fastaSeq
 
--- Remove out of frame sequences
+-- | Remove out of frame sequences
 isInFrame :: FastaSequence -> Bool
 isInFrame = (== 0)
           . mod 3
@@ -49,7 +49,7 @@
           . T.filter (\x -> not . T.isInfixOf (T.singleton x) $ ".-")
           . fastaSeq
 
--- Remove sequences that do not contain the string customFilter in the
+-- | Remove sequences that do not contain the string customFilter in the
 -- customField location, split by "|". Note that this is 1 indexed and
 -- 0 means to search the entire header for the customFilter. If the
 -- customRemove option is enabled, this function will instead remove
diff --git a/src/Print.hs b/src/Print.hs
--- a/src/Print.hs
+++ b/src/Print.hs
@@ -20,7 +20,7 @@
 -- Local
 import Types
 
--- Return the results of the filtration in text form for saving
+-- | Return the results of the filtration in text form for saving
 -- to a file
 printFasta :: CloneMap -> T.Text
 printFasta = body
@@ -37,7 +37,7 @@
                                   , z
                                   ]
 
--- Return the results of the filtration in text form for saving
+-- | Return the results of the filtration in text form for saving
 -- to a file and excluding germline
 printFastaNoGermline :: CloneMap -> T.Text
 printFastaNoGermline = body
diff --git a/src/TransformCloneList.hs b/src/TransformCloneList.hs
--- a/src/TransformCloneList.hs
+++ b/src/TransformCloneList.hs
@@ -31,7 +31,7 @@
 noGaps :: T.Text -> Bool
 noGaps = not . any (\x -> x == '.' || x == '-') . T.unpack
 
--- Replace codons that have more than CodonMut mutations (make them "---"
+-- | Replace codons that have more than CodonMut mutations (make them "---"
 -- codons) and don't have gaps in them.
 onlyMutations :: CodonMut -> T.Text -> T.Text -> CloneEntry -> CloneEntry
 onlyMutations codonMut codonMutType mutType = newEntry
@@ -61,7 +61,7 @@
     isMutType "ALL" _ _         = True
     isMutType _ _ _             = error "Unknown mutation type"
 
--- Only include codons containing mutations found in a certain number of
+-- | Only include codons containing mutations found in a certain number of
 -- mutants
 frequentMutations :: Maybe Int
                   -> Maybe Int
diff --git a/src/Utility.hs b/src/Utility.hs
--- a/src/Utility.hs
+++ b/src/Utility.hs
@@ -34,7 +34,7 @@
     insertDummy x   = (dummy, [x])
     dummy = FastaSequence {fastaHeader = "filler", fastaSeq = "---"}
 
--- Like zipWith, but if one if one list is longer than the other than use
+-- | Like zipWith, but if one if one list is longer than the other than use
 -- the remaining, needs to be the same type
 zipWithRetain :: (a -> a -> a) -> [a] -> [a] -> [a]
 zipWithRetain _ [] [] = []
@@ -42,7 +42,7 @@
 zipWithRetain _ [] ys = ys
 zipWithRetain f (x:xs) (y:ys) = f x y : zipWithRetain f xs ys
 
--- Like zipWithRetain, but for text
+-- | Like zipWithRetain, but for text
 zipWithRetainText :: (Char -> Char -> Char) -> T.Text -> T.Text -> T.Text
 zipWithRetainText _ (T.uncons -> Nothing) (T.uncons -> Nothing) = T.empty
 zipWithRetainText _ xs (T.uncons -> Nothing) = xs
@@ -50,7 +50,7 @@
 zipWithRetainText f (T.uncons -> Just (x, xs)) (T.uncons -> Just (y, ys))
     = f x y `T.cons` zipWithRetainText f xs ys
 
--- Replace characters in the first string with another in the second string
+-- | Replace characters in the first string with another in the second string
 -- if they are equal to a certain character and they aren't replaced with
 -- a gap.
 replaceChars :: Char -> T.Text -> T.Text -> T.Text
