     let strFlags = flagsStuct.flags
     
     guard let flags = Int(strFlags) else {
-      let errMsg = "remove dir failed: " + String(UTF8String: strerror(errno))!
+      let errMsg = "Remove directory failed: " + String(UTF8String: strerror(errno))!
       println(errMsg)
       
-      throw ClientError.RemoveDirectoryFailed(errMsg)
+      throw SwiftSSH2Error.IOError(errMsg)
     }
     
     var result: Int32 = -1
     repeat {
       result = libssh2_sftp_mkdir_ex(sftp_session.cSFTPSession, path, UInt32(path.characters.count), flags)
       guard result >= 0 else {
-        let errMsg = "create dir failed: " + String(UTF8String: strerror(errno))!
+        let errMsg = "Create directory failed: " + String(UTF8String: strerror(errno))!
         println(errMsg)
         
-        throw ClientError.CreateDirectoryFailed(errMsg)
+        throw SwiftSSH2Error.IOError(errMsg)
       }
     
       if result > 0 && createIntermediateDirectories { // && result == LIBSSH2_FX_NO_SUCH_FILE {

        let errMsg = "sftp2 session failed: " + String(UTF8String: strerror(errno))!
        println(errMsg)
        
        throw ClientError.SFTP2SessionFailed(errMsg)
      }
    } while (sftp_session.cSFTPSession.hashValue == 0)
    

    } while(pathLength == LIBSSH2_ERROR_BUFFER_TOO_SMALL)
    
    guard pathLength >= 0 else {
      let errMsg = "Resolving symlink failed: " + String(UTF8String: strerror(errno))!
      println(errMsg)

      throw SwiftSSH2Error.IOError(errMsg)
    }

    guard let pathName = String.fromCString(buffer) else {
      throw SwiftSSH2Error.IOError("Cannot retrieve path name for path: \(path)")
    }
    
    println("• Current Path: \(pathName)")
