diff --git a/bin/moxygen.js b/bin/moxygen.js
index 092681dc..6c55fe86 100755
--- a/bin/moxygen.js
+++ b/bin/moxygen.js
@@ -20,13 +20,15 @@ program.version(pjson.version)
   .option('-t, --templates <dir>', 'custom templates directory (default: "built-in templates")', String)
   .option('-L, --logfile [file]', 'output log messages to file, (default: console only, default file name: "moxygen.log")')
   .option('-q, --quiet', 'quiet mode', false)
+  .option('-s, --separator <separator sequence>', 'separator sequence (default: "::")', '::')
+
   .parse(process.argv);
 
 logger.init(program, app.defaultOptions);
 
 if (program.args.length) {
   app.run(assign({}, app.defaultOptions, {
-    directory: program.args[0],
+    directory: program.args.slice(-1).pop(),
     output: program.output,
     groups: program.groups,
     pages: program.pages,
@@ -35,6 +37,7 @@ if (program.args.length) {
     anchors: program.anchors,
     htmlAnchors: program.htmlAnchors,
     language: program.language,
+    separator: program.separator,
     templates: program.templates,
   }));
 }
diff --git a/index.js b/index.js
index 6b3e90e2..65f39cc7 100644
--- a/index.js
+++ b/index.js
@@ -30,6 +30,7 @@ module.exports = {
     classes: false,             /** Output doxygen classes separately **/
     output_s: 'api_%s.md',      /** Output file for groups and classes **/
     logfile: 'moxygen.log',     /** Log file **/
+    separator: '::',            /** Group separator sequence **/
 
     filters: {
       members: [
diff --git a/src/helpers.js b/src/helpers.js
index d2d174ca..1340f485 100644
--- a/src/helpers.js
+++ b/src/helpers.js
@@ -101,7 +101,7 @@ module.exports = {
     } else if (options.groups) {
       return util.format(options.output, compound.groupname);
     } else if (options.classes) {
-      return util.format(options.output, compound.name.replace(/\:/g, '-').replace('<', '(').replace('>', ')'));
+      return util.format(options.output, compound.name.replace(/\:\:/g, options.separator).replace(/\:/g, '-').replace('<', '(').replace('>', ')'));
     } else {
       return options.output;
     }
diff --git a/src/parser.js b/src/parser.js
index 3b4bdcb7..680a484f 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -429,7 +429,7 @@ module.exports = {
       case 'typedef':
 
         // set namespace reference
-        var nsp = compound.name.split('::');
+        var nsp = compound.name.split("::");
         compound.namespace = nsp.splice(0, nsp.length - 1).join('::');
         break;