         @convertTheme(options.argv.convert, options.argv.theme, callback)
       else
         themePath = path.resolve(options.argv.theme)
-        templatePath = options.argv.template ? path.resolve(__dirname, '..', 'templates', 'theme')
+        templatePath = @getTemplatePath(options.argv, 'theme')
         @generateFromTemplate(themePath, templatePath)
         callback()
     else if options.argv.language?.length > 0
       languagePath = path.resolve(options.argv.language)
       languageName = path.basename(languagePath).replace(/^language-/, '')
       languagePath = path.join(path.dirname(languagePath), "language-#{languageName}")
-      templatePath = path.resolve(__dirname, '..', 'templates', 'language')
+      templatePath = @getTemplatePath(options.argv, 'language')
       @generateFromTemplate(languagePath, templatePath, languageName)
       callback()
     else if options.argv.package?

      else if underscore
        @underscore(packageName)

  dasherize: (string) ->
    string = string[0].toLowerCase() + string[1..]
    string.replace /([A-Z])|(_)/g, (m, letter, underscore) ->

        @convertPackage(options.argv.convert, options.argv.package, callback)
      else
        packagePath = path.resolve(options.argv.package)
        templatePath = @getTemplatePath(options.argv, 'package')
        @generateFromTemplate(packagePath, templatePath)
        callback()
    else if options.argv.theme?.length > 0
