diff --git a/corsika/modules/Random.hpp b/corsika/modules/Random.hpp
index a254aa229f2f4b92155ff47acec81c584cca2546..d31bd35df5f71526d2b06ae607a86af434d30a8f 100644
--- a/corsika/modules/Random.hpp
+++ b/corsika/modules/Random.hpp
@@ -23,7 +23,7 @@ namespace corsika {
     inline void rng_func(corsika::default_prng_type& rng, double* dest, std::size_t N) {
       std::uniform_real_distribution<double> udist(0.0, 1.0);
       std::generate(dest, std::next(dest, N), std::bind(udist, std::ref(rng)));
-    };
+    }
   } // namespace detail
 
   inline void connect_random_stream(corsika::default_prng_type& rng,
diff --git a/examples/corsika.cpp b/examples/corsika.cpp
index dd780bc508f374bb1c8adceaa719e0908ba2c39f..b05cc4b8ea268190760b9a9935a23de3b10f8bf0 100644
--- a/examples/corsika.cpp
+++ b/examples/corsika.cpp
@@ -77,6 +77,8 @@
 #include <corsika/setup/SetupStack.hpp>
 #include <corsika/setup/SetupTrajectory.hpp>
 
+#include <boost/filesystem.hpp>
+
 #include <CLI/App.hpp>
 #include <CLI/Config.hpp>
 #include <CLI/Formatter.hpp>
@@ -189,6 +191,9 @@ int main(int argc, char** argv) {
       ->default_val("corsika_library")
       ->check(CLI::NonexistentPath)
       ->group("Library/Output");
+  app.add_option("-d,--dir", "Directory for output library.")
+      ->default_val(".")
+      ->group("Library/Output");
   app.add_option("-s,--seed", "The random number seed.")
       ->default_val(0)
       ->check(CLI::NonNegativeNumber)
@@ -355,7 +360,8 @@ int main(int argc, char** argv) {
   std::stringstream args;
   for (int i = 0; i < argc; ++i) { args << argv[i] << " "; }
   // create the output manager that we then register outputs with
-  OutputManager output(app["--filename"]->as<std::string>(), seed, args.str());
+  auto const outputDir = boost::filesystem::path(app["--dir"]->as<std::string>());
+  OutputManager output(app["--filename"]->as<std::string>(), seed, args.str(), outputDir);
 
   // register energy losses as output
   EnergyLossWriter dEdX{showerAxis, 10_g / square(1_cm), 200};