   traverse: (directoryPath, callback)->
     fyle.walkSync directoryPath, callback
 
-  # this is because fs.existsSync is getting deprecated
-  exists: (filePath)->
-    try
-      # Query the entry
-      stats = fs.lstatSync(filePath)
-      # Is it a directory?
-      if stats.isDirectory()
-        # Yes it is
-        return false
-      else
-        return true
-    catch e
-      return false
-
-  isFolder: (filePath)
-    if @exists(filePath)
-      stats = fs.statSync(filePath)
-      if stats.isDirectory()
-        return true
-      else
-        return false
-    else
-      return false
-
-  cleanPath: (filePath)->
-    return path.normalize(filePath)
+  
 
   delete: (filePath)->
     fs.removeSync filePath
 
+  setupFolderTree: (subfolders) ->
+    subfolders.each (subfolderPath)->
+      fs.mkdirsSync subfolderPath, (err)->
+        if err
+          logger.error "#{subfolderPath} could not be created."
+        else
+          logger.info "#{subfolderPath} created."    
+
+  # ## File Path Ops
+
+  cleanPath: (filePath)->
+    return path.normalize(filePath)
 
   # validate that the file extension ends with the desired extension, if not, append
   ensureExtension: (filePath, ext)->

  # save data to a path
  save: (file, data)->
    fs.writeFileSync file, data

  copy: (source, destination, clobber) ->
    options = { clobber: false }

# file.coffee

# Synchronous file ops and miscellaneous path tools

fs = require "fs-extra"
fyle = require "file" # needed for file walking
