     func loadChildren() {
         let syspath = self.syspath()
         let fileManager = NSFileManager.defaultManager()
-        let enumerator = fileManager.enumeratorAtPath(syspath)
-        guard let _ = enumerator else {
+        let components = try? fileManager.contentsOfDirectoryAtPath(syspath)
+        
+        guard let _ = components else {
             return
         }
-        while let element = enumerator!.nextObject() as? String {
-            let node = PathNode()
-            node.name = element
+        
+        guard components!.count != 0 else {
+            return
+        }
+        
+        for element in components! {
+            let path = self.syspath() + "/\(element)"
+            var isDir = ObjCBool(false)
+            fileManager.fileExistsAtPath(path, isDirectory: &isDir)
+            
+            let node = PathNode(isDirectory: isDir.boolValue, name: element)
             self.addChild(node)
             node.loadChildren()
         }

        var v : PathNode? = self
        
        repeat {
            paths.append(self.name)
            v = v!.parent
        } while v != nil
        

            i = i - 1
        }
        desc += " \(node.name)\n"
        
        guard node.isDirectory else {
            return desc
        }
        
        for child in node.children! {
            desc += traverseNode(level+1, node: child)
        }
        return desc
