diff --git a/nested-routes.cabal b/nested-routes.cabal
--- a/nested-routes.cabal
+++ b/nested-routes.cabal
@@ -1,5 +1,5 @@
 Name:                   nested-routes
-Version:                0.2.2
+Version:                0.2.2.1
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -32,7 +32,7 @@
                       , lucid
                       , bytestring
                       , attoparsec
-                      , pred-trie >= 0.0.8
+                      , pred-trie >= 0.0.8.1
 
 Test-Suite spec
   Type:                 exitcode-stdio-1.0
diff --git a/src/Web/Routes/Nested.hs b/src/Web/Routes/Nested.hs
--- a/src/Web/Routes/Nested.hs
+++ b/src/Web/Routes/Nested.hs
@@ -161,7 +161,7 @@
   let mMethod  = httpMethodToMSym $ requestMethod req
       mFileext = case pathInfo req of
                          [] -> Just Html -- fucky balls - I need to remove file extensions INCREMENTALLY balls
-                         xs -> possibleExts $ getFileExt $ last xs
+                         xs -> toExt $ getFileExt $ last xs
       meitherNotFound = P.lookupNearestParent (pathInfo req) nftrie
 
   notFoundBasic <- handleNotFound Html Get meitherNotFound
@@ -170,10 +170,8 @@
     (Just f, Just v) -> do
       menf <- handleNotFound f v meitherNotFound
       let cleanedPathInfo = applyToLast trimFileExt $ pathInfo req
-      liftIO $ putStrLn $ (T.unpack $ T.intercalate "/" cleanedPathInfo)
       case P.lookup cleanedPathInfo rtrie of
-        Just eitherM -> do liftIO $ putStrLn $ "sheeit"
-                           continue f v eitherM $ menf
+        Just eitherM -> continue f v eitherM $ menf
         Nothing  -> case pathInfo req of
           [] -> liftIO $ respond404 $ menf
           _  -> case trimFileExt $ last $ pathInfo req of
@@ -305,7 +303,12 @@
     applyToLast f (x:xs) = x : applyToLast f xs
 
     trimFileExt :: T.Text -> T.Text
-    trimFileExt s = T.pack $ takeWhile (/= '.') $ T.unpack s
+    trimFileExt s = if (T.unpack s) `endsWithAny` possibleExts
+                    then T.pack $ takeWhile (/= '.') $ T.unpack s
+                    else s
+      where
+        possibleExts = [".html",".htm",".txt",".json"]
+        endsWithAny s xs = (dropWhile (/= '.') s) `elem` xs
 
     httpMethodToMSym :: Method -> Maybe Verb
     httpMethodToMSym x | x == methodGet    = Just Get
diff --git a/src/Web/Routes/Nested/FileExtListener.hs b/src/Web/Routes/Nested/FileExtListener.hs
--- a/src/Web/Routes/Nested/FileExtListener.hs
+++ b/src/Web/Routes/Nested/FileExtListener.hs
@@ -33,11 +33,11 @@
   deriving (Show, Eq, Ord)
 
 
-possibleExts :: T.Text -> Maybe FileExt
-possibleExts x | x `elem` htmls = Just Html
-               | x `elem` jsons = Just Json
-               | x `elem` texts = Just Text
-               | otherwise      = Nothing
+toExt :: T.Text -> Maybe FileExt
+toExt x | x `elem` htmls = Just Html
+        | x `elem` jsons = Just Json
+        | x `elem` texts = Just Text
+        | otherwise      = Nothing
   where
     htmls = ["", ".htm", ".html"]
     jsons = [".json"]
