      
      - returns: returns all the string
      */
-    func stringByAppendingPathExtension(ext: String) -> String? {
+    public func stringByAppendingPathExtension(ext: String) -> String? {
         let nsSt = self as NSString
         
         return nsSt.stringByAppendingPathExtension(ext)
     }
     
     /// Converts self to a NSString
-    var NS: NSString {
+    public var NS: NSString {
         return (self as NSString)
     }
     

    }
    
    /// Returns the last path component
    var lastPathComponent: String {
        get {
            return (self as NSString).lastPathComponent
        }
    }
    
    /// Returns the path extension
    var pathExtension: String {
        get {
            return (self as NSString).pathExtension
        }
    }
    
    /// Delete the last path component
    var stringByDeletingLastPathComponent: String {
        get {
            return (self as NSString).stringByDeletingLastPathComponent
        }
    }
    
    /// Delete the path extension
    var stringByDeletingPathExtension: String {
        get {
            return (self as NSString).stringByDeletingPathExtension
        }
    }
    
    /// Returns an array of path components
    var pathComponents: [String] {
        get {
            return (self as NSString).pathComponents
        }

     
     - returns: Returns all the string
     */
    public func stringByAppendingPathComponent(path: String) -> String {
        let string = self as NSString
        
        return string.stringByAppendingPathComponent(path)
