diff --git a/argument.hpp b/argument.hpp
index ed2399a..e6acaf3 100644
--- a/argument.hpp
+++ b/argument.hpp
@@ -1,28 +1,29 @@
 #pragma once
 
 #include <getopt.h>
+
 #include <map>
 #include <string>
 
 class ArgumentParser
 {
-    public:
-        ArgumentParser(int argc, char** argv);
-        const std::string& operator[](const std::string& opt);
+  public:
+    ArgumentParser(int argc, char** argv);
+    const std::string& operator[](const std::string& opt);
 
-        static void usage(char** argv);
+    static void usage(char** argv);
 
-        static const std::string true_string;
-        static const std::string empty_string;
+    static const std::string true_string;
+    static const std::string empty_string;
 
-    private:
-        std::map<const std::string, std::string> arguments;
+  private:
+    std::map<const std::string, std::string> arguments;
 
-        static const option options[];
-        static const char* optionstr;
+    static const option options[];
+    static const char* optionstr;
 
-    private:
-        ArgumentParser() {};
+  private:
+    ArgumentParser(){};
 };
 
 // vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
