diff --git a/rasa-ext-files.cabal b/rasa-ext-files.cabal
--- a/rasa-ext-files.cabal
+++ b/rasa-ext-files.cabal
@@ -1,36 +1,36 @@
-name:                rasa-ext-files
-version:             0.1.0.0
-synopsis:            Rasa Ext for filesystem actions
-description:         Rasa Ext for filesystem actions
-homepage:            https://github.com/ChrisPenner/rasa/
-license:             MIT
-license-file:        LICENSE
-author:              Chris Penner
-maintainer:          christopher.penner@gmail.com
-copyright:           2016 Chris Penner
-category:            Extension
-build-type:          Simple
--- extra-source-files:
-cabal-version:       >=1.10
-
-library
-  hs-source-dirs:      src
-  exposed-modules:
-                       Rasa.Ext.Files
-
-  build-depends:       base >= 4.7 && < 5
-                     , rasa
-                     , rasa-ext-status-bar
-                     , rasa-ext-cmd
-                     , data-default
-                     , lens
-                     , text
-  default-language:    Haskell2010
+name: rasa-ext-files
+version: 0.1.1
+cabal-version: >=1.10
+build-type: Simple
+license: MIT
+license-file: LICENSE
+copyright: 2016 Chris Penner
+maintainer: christopher.penner@gmail.com
+homepage: https://github.com/ChrisPenner/rasa/
+synopsis: Rasa Ext for filesystem actions
+description:
+    Rasa Ext for filesystem actions
+category: Extension
+author: Chris Penner
 
-  default-extensions:
+source-repository head
+    type: git
+    location: https://github.com/ChrisPenner/rasa
 
-  ghc-options:         -Wall
+library
+    exposed-modules:
+        Rasa.Ext.Files
+    build-depends:
+        base >=4.8 && <5,
+        rasa >=0.1.4 && <0.2,
+        rasa-ext-bufs >=0.1.1 && <0.2,
+        rasa-ext-status-bar >=0.1.1 && <0.2,
+        rasa-ext-cmd >=0.1.1 && <0.2,
+        data-default >=0.7.1.1 && <0.8,
+        lens ==4.14.*,
+        text >=1.2.2.1 && <1.3,
+        yi-rope >=0.7.0.2 && <0.8
+    default-language: Haskell2010
+    hs-source-dirs: src
+    ghc-options: -Wall
 
-source-repository head
-  type:     git
-  location: https://github.com/ChrisPenner/rasa
diff --git a/src/Rasa/Ext/Files.hs b/src/Rasa/Ext/Files.hs
--- a/src/Rasa/Ext/Files.hs
+++ b/src/Rasa/Ext/Files.hs
@@ -14,15 +14,17 @@
 import Data.Default 
 import Data.Monoid
 
+import Control.Monad
 import Control.Monad.IO.Class
-import qualified Data.Text as T
+import qualified Yi.Rope as Y
 
 import Rasa.Ext
+import Rasa.Ext.Bufs
 import Rasa.Ext.Cmd
 import Rasa.Ext.StatusBar
 
 data FileInfo = FileInfo
-  { _filename :: Maybe T.Text
+  { _filename :: Maybe Y.YiString
   } deriving (Typeable, Show, Eq)
 
 makeLenses ''FileInfo
@@ -36,17 +38,17 @@
 files = do
   onInit $ do
     loadFiles
-    addCmd "save" $ focusDo . saveAs
+    addCmd "save" $ void . focusDo . saveAs . Y.fromString
   beforeRender showFilename
 
 showFilename :: Action ()
-showFilename = focusDo $ do
+showFilename = void . focusDo $ do
   mName <- use $ bufExt.filename
   traverse_ (leftStatus . disp) mName
       where disp name = "<" <> name <> ">"
 
-saveAs :: T.Text -> BufAction ()
-saveAs fName = use text >>= liftIO . TIO.writeFile (T.unpack fName)
+saveAs :: Y.YiString -> BufAction ()
+saveAs fName = use text >>= liftIO . TIO.writeFile (Y.toString fName) . Y.toText
 
 save :: BufAction ()
 save = do
@@ -55,14 +57,16 @@
     Just fName -> saveAs fName
     Nothing -> return ()
 
-setFilename :: T.Text -> BufAction ()
+setFilename :: Y.YiString -> BufAction ()
 setFilename fname = bufExt.filename ?= fname
 
-addFile :: T.Text -> T.Text -> Action ()
-addFile fname txt = addBufferThen txt (setFilename fname)
+addFile :: Y.YiString -> Y.YiString -> Action ()
+addFile fname txt = do
+  newBuf <- newBuffer txt
+  bufDo_ newBuf (setFilename fname)
 
 loadFiles :: Action ()
 loadFiles = do
   fileNames <- liftIO getArgs
   fileTexts <- liftIO $ traverse TIO.readFile fileNames
-  mapM_ (uncurry addFile) $ zip (T.pack <$> fileNames) fileTexts
+  mapM_ (uncurry addFile) $ zip (Y.fromString <$> fileNames) (Y.fromText <$> fileTexts)
