     # Check if custom download-dir
     downloadDir = @getDownloadDirForTorrent(torrent)
     if downloadDir?
-      options['download-dir'] = downloadDir
+      options['download_dir'] = downloadDir.basePath
+      options['path'] = downloadDir.subPath
     # Check for missing Torrent URL
     unless torrent.torrentUrl
       callback new Error("Missing Torrent URL field."), null
     else
-
-      @utorrent.call('add-url',
-        {
-            's': torrent.torrentUrl,
-            'download_dir': 0,
-            'path': '' # TODO: allow for customizing download directory
-        },
-        (err, result) =>
-            # console.log("add-file", err, result)
-            return callback err, result
+      options['s'] = torrent.torrentUrl
+      @utorrent.call('add-url', options, (err, result) =>
+        # console.log("add-file", err, result)
+        return callback err, result
       )
 
   getDownloadDirForTorrent: (torrent) ->
     downloadDirs = config.downloadDirs
+    def = { # Default
+        "basePath": 0,
+        "subPath": ""
+      }
     if downloadDirs
       downloadDir = downloadDirs[torrent.category]
-      if typeof downloadDir is "object"
+      # console.log(typeof downloadDir, torrent.category)
+      renderPathForTorrent = (torrent, template, defDir) ->
         title = torrent.title
-        template = downloadDir.template || null
-        defDir = downloadDir.default || null
         e = episode(title)
         # Check if it was properly parse
         if e.matches.length > 0

          return downloadDir
        else
          return defDir
      else
        return downloadDir
    else
      return null

  list: (callback) ->
    @utorrent.call("list", (err, data) ->
        return callback(err, null) if err
        results = {
            torrents: []
        }
