diff --git a/src/main/java/azgracompress/cli/CliConstants.java b/src/main/java/azgracompress/cli/CliConstants.java
index 98f8dbbf623256397b11810c758c1399bb9621f4..e07700f69ea19777f40d393db4927d70af768a3d 100644
--- a/src/main/java/azgracompress/cli/CliConstants.java
+++ b/src/main/java/azgracompress/cli/CliConstants.java
@@ -91,19 +91,13 @@ public class CliConstants {
         methodGroup.addOption(new Option(CliConstants.HELP_SHORT, CliConstants.HELP_LONG, false, "Print help"));
 
         OptionGroup compressionMethodGroup = new OptionGroup();
-        compressionMethodGroup.addOption(new Option(CliConstants.SCALAR_QUANTIZATION_SHORT,
-                                                    CliConstants.SCALAR_QUANTIZATION_LONG,
-                                                    false,
-                                                    "Use scalar quantization."));
+        compressionMethodGroup.addOption(createSQOption());
 
-        compressionMethodGroup.addOption(new Option(CliConstants.VECTOR_QUANTIZATION_SHORT,
-                                                    CliConstants.VECTOR_QUANTIZATION_LONG,
-                                                    true,
-                                                    "Use vector quantization. Need to pass vector size eg. 9,9x1,3x3"));
+        compressionMethodGroup.addOption(createVQOption());
 
         options.addOptionGroup(methodGroup);
         options.addOptionGroup(compressionMethodGroup);
-        options.addOption(CliConstants.BITS_SHORT, CliConstants.BITS_LONG, true, "Bit count per pixel [Default 8]");
+        options.addOption(createBitsOption());
 
         options.addOption(CliConstants.USE_MIDDLE_PLANE_SHORT,
                           CliConstants.USE_MIDDLE_PLANE_LONG,
@@ -120,13 +114,35 @@ public class CliConstants {
                                      true,
                                      "Number of worker threads"));
 
-        options.addOption(new Option(CliConstants.CODEBOOK_CACHE_FOLDER_SHORT,
-                                     CliConstants.CODEBOOK_CACHE_FOLDER_LONG,
-                                     true,
-                                     "Folder of codebook caches"));
+        options.addOption(createCBCMethod());
 
         options.addOption(CliConstants.OUTPUT_SHORT, CliConstants.OUTPUT_LONG, true, "Custom output file");
         return options;
     }
 
+    public static Option createBitsOption() {
+        return new Option(CliConstants.BITS_SHORT, CliConstants.BITS_LONG, true, "Bit count per pixel [Default 8]");
+    }
+
+    public static Option createCBCMethod() {
+        return new Option(CliConstants.CODEBOOK_CACHE_FOLDER_SHORT,
+                          CliConstants.CODEBOOK_CACHE_FOLDER_LONG,
+                          true,
+                          "Folder of codebook caches");
+    }
+
+    public static Option createSQOption() {
+        return new Option(CliConstants.SCALAR_QUANTIZATION_SHORT,
+                          CliConstants.SCALAR_QUANTIZATION_LONG,
+                          false,
+                          "Use scalar quantization.");
+    }
+
+    public static Option createVQOption() {
+        return new Option(CliConstants.VECTOR_QUANTIZATION_SHORT,
+                          CliConstants.VECTOR_QUANTIZATION_LONG,
+                          true,
+                          "Use vector quantization. Need to pass vector size eg. 9,9x1,3x3");
+    }
+
 }