diff --git a/FTPLine.cabal b/FTPLine.cabal
--- a/FTPLine.cabal
+++ b/FTPLine.cabal
@@ -1,14 +1,22 @@
 Name: FTPLine
-Version: 1.0.0
+Version: 1.0.1
 Cabal-Version: >= 1.6
 License: BSD3
 License-file: license
 Author: Daniel Diaz
-Maintainer: danieldiaz@asofilak.es
+Maintainer: Daniel Diaz <danieldiaz@asofilak.es>
 Homepage: http://ddiaz.asofilak.es/packages/FTPLine
 Category: Network
 Synopsis: A command-line FTP client.
 Description: A command-line FTP client. Type @help@ for a list of commands.
+             .
+             Changes from last version:
+             .
+             * Added a restriction in the haskeline version.
+             .
+             * Added the type synonym @FTPState@.
+             .
+             * Removed unused function @addNChar@.
 Build-Type: Simple
 
 Executable FTPLine
@@ -18,6 +26,7 @@
                , ftphs
                , directory
                , network
-               , haskeline
+               , haskeline >=0.6.2.4 && < 0.7
                , ansi-terminal
+  Extensions: FlexibleInstances
   Main-is: Main.hs
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -3,13 +3,14 @@
 
 import Data.Maybe
 import Control.Monad.State
+import Control.Monad.Error.Class
 import System.Console.Haskeline hiding (getInputLine)
 import qualified System.Console.Haskeline as Haskeline (getInputLine)
 import Network.Socket hiding (connect)
 import Network.FTP.Client
 import Network.FTP.Client.Parser
 import System.Directory
-import Control.Applicative
+import Control.Applicative ((<$>))
 import Data.List (genericLength,intercalate)
 import Prelude hiding (catch)
 import System.IO.Binary (writeBinaryFile,readBinaryFile)
@@ -31,8 +32,10 @@
 
 data File = File FilePath String
 
-type FTPLine a = InputT (StateT (Maybe FTPConnection,Maybe File,Maybe String) IO) a
+type FTPState = StateT (Maybe FTPConnection,Maybe File,Maybe String) IO
 
+type FTPLine a = InputT FTPState a
+
 fst3 (x,_,_) = x
 
 snd3 (_,x,_) = x
@@ -329,10 +332,6 @@
 addChar :: Char -> [String] -> [String]
 addChar c [] = [[c]]
 addChar c (x:xs) = (c : x) : xs
-
-addNChar :: Char -> [String] -> [String]
-addNChar c [] = [[c]]
-addNChar c (x:xs) = [c] : xs
 
 args' :: String -> [String] -> Bool -> [String]
 args' [] xs _     = xs
diff --git a/license b/license
--- a/license
+++ b/license
@@ -0,0 +1,30 @@
+Copyright (c)2010, Daniel Díaz
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Daniel Díaz nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
