diff --git a/argument.cpp b/argument.cpp
index 563bcfb..acb9366 100644
--- a/argument.cpp
+++ b/argument.cpp
@@ -25,30 +25,22 @@
 {
 namespace led
 {
-
-const std::string ArgumentParser::true_string = "true";
-
 ArgumentParser::ArgumentParser(int argc, char** argv)
 {
     int option = 0;
     while (-1 !=
            (option = getopt_long(argc, argv, optionstr, &options[0], nullptr)))
     {
-        if ((option == '?') || (option == 'h'))
+        switch (option)
         {
-            usage(argv);
-            exit(-1);
-        }
-
-        const auto* i = &options[0];
-        while ((i->val != option) && (i->val != 0))
-        {
-            ++i;
-        }
-
-        if (i->val)
-        {
-            arguments[i->name] = (i->has_arg ? optarg : true_string);
+            case '?':
+            case 'h':
+                usage(argv);
+                exit(-1);
+                break;
+            case 'p':
+                arguments["path"] = optarg;
+                break;
         }
     }
 }
diff --git a/argument.hpp b/argument.hpp
index 790041b..8240eb7 100644
--- a/argument.hpp
+++ b/argument.hpp
@@ -36,9 +36,6 @@
     /** @brief Displays usage */
     static void usage(char** argv);
 
-    /** @brief Set to 'true' when an option is passed */
-    static const std::string true_string;
-
   private:
     /** @brief Option to argument mapping */
     std::map<const std::string, std::string> arguments;
