diff --git a/docs/api.rst b/docs/api.rst
index 7aaebc55cf22d65c5483ce469a03ef07c85c27f6..b44f8f30c5544a3b2af63ec52f9f801b348c0486 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -20,8 +20,11 @@ OrcaSong: Main Framework
 
   parse_input
   parser_check_input
+  make_output_dirs
   calculate_bin_edges
   calculate_bin_edges_test
+  get_file_particle_type
+  EventSkipper
   skip_event
   data_to_images
   main
@@ -39,9 +42,11 @@ OrcaSong: Main Framework
 .. autosummary::
   :toctree: api
 
-  get_event_data
   get_primary_track_index
   get_time_residual_nu_interaction_mean_triggered_hits
+  get_hits
+  get_tracks
+  EventDataExtractor
 
 
 ``orcasong.hits_to_histograms``: Making images based on the event info
@@ -56,24 +61,9 @@ OrcaSong: Main Framework
 .. autosummary::
   :toctree: api
 
+  get_time_parameters
   compute_4d_to_2d_histograms
+  convert_2d_numpy_hists_to_pdf_image
   compute_4d_to_3d_histograms
   compute_4d_to_4d_histograms
-  convert_2d_numpy_hists_to_pdf_image
-  get_time_parameters
-
-
-``orcasong.histograms_to_files``: Saving the images to a h5 file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. automodule:: orcasong.histograms_to_files
-  :no-members:
-  :no-inherited-members:
-
-
-.. currentmodule:: orcasong.histograms_to_files
-
-.. autosummary::
-  :toctree: api
-
-  store_histograms_as_hdf5
\ No newline at end of file
+  HistogramMaker
\ No newline at end of file
diff --git a/docs/getting_started.rst b/docs/getting_started.rst
index 3eea8a862f85a80468b52f54e81dda55f1f6dfd4..006c39ef70834d26751bfbeded7274673b49bb64 100644
--- a/docs/getting_started.rst
+++ b/docs/getting_started.rst
@@ -134,9 +134,9 @@ At this point, we are now ready to start using OrcaSong for the generation of ev
 Usage of OrcaSong
 -----------------
 
-After pulling the OrcaSong repo to your local harddisk you first need to install it with the provided setup.py::
+In order to use OrcaSong, you can just install it with :code:`pip`::
 
-    ~/orcasong$: pip install .
+    ~/$: pip install orcasong
 
 Before you can start to use OrcaSong, you need a .detx detector geometry file that corresponds to your input files.
 OrcaSong is currently producing event "images" based on a 1 DOM / XYZ-bin assumption. This image generation is done
@@ -146,18 +146,24 @@ automatically, based on the number of bins (n_bins) for each dimension XYZ that
 If your .detx file is not contained in the OrcaSong/detx_files folder, please add it to the repository!
 Currently, only the 115l ORCA 2016 detx file is available.
 
-At this point, you're finally ready to use OrcaSong, it can be executed as follows::
+At this point, you're finally ready to use OrcaSong.
+OrcaSong can be called from every directory by using the :code:`make_nn_images` command::
 
-    ~/orcasong$: python data_to_images.py testfile.h5 geofile.detx
+    ~/$: make_nn_images testfile.h5 geofile.detx
 
-OrcaSong will then generate a hdf5 file with images into the Results folder, e.g. Results/4dTo4d/h5/xyzt.
+OrcaSong will then generate a hdf5 file with images that will be put in a "Results" folder at your current path.
 
 The configuration options of OrcaSong can be found by calling the help::
 
-    ~/orcasong$: python data_to_images.py -h
+    ~/$: make_nn_images -h
     Main OrcaSong code which takes raw simulated .h5 files and the corresponding .detx detector file as input in
     order to generate 2D/3D/4D histograms ('images') that can be used for CNNs.
-    The input file can be calibrated or not (e.g. contains pos_xyz of the hits).
+
+    First argument: KM3NeT hdf5 simfile at JTE level.
+    Second argument: a .detx file that is associated with the hdf5 file.
+
+    The input file can be calibrated or not (e.g. contains pos_xyz of the hits) and the OrcaSong output is written
+    to the current folder by default (otherwise use --o option).
     Makes only 4D histograms ('images') by default.
 
     Usage:
@@ -169,6 +175,15 @@ The configuration options of OrcaSong can be found by calling the help::
 
         -c CONFIGFILE                   Load all options from a config file (.toml format).
 
+        --o OUTPUTPATH                  Path for the directory, where the OrcaSong output should be stored. [default: ./]
+
+        --chunksize CHUNKSIZE           Chunksize (axis_0) that should be used for the hdf5 output of OrcaSong. [default: 32]
+
+        --complib COMPLIB               Compression library that should be used for the OrcaSong output.
+                                        All PyTables compression filters are available. [default: zlib]
+
+        --complevel COMPLEVEL           Compression level that should be used for the OrcaSong output. [default: 1]
+
         --n_bins N_BINS                 Number of bins that are used in the image making for each dimension, e.g. (x,y,z,t).
                                         [default: 11,13,18,60]
 
@@ -222,18 +237,15 @@ The configuration options of OrcaSong can be found by calling the help::
                                         the 'y' dataset of the output file of OrcaSong. [default: 1]
 
 
-
-OrcaSong will then generate a hdf5 file with images into the Results folder, e.g. Results/4dTo4d/h5/xyzt.
-
-Alternatively, they can also be found in the docs of the :code:`main()` function:
+Alternatively, they can also be found in the docs of the :code:`data_to_images()` function:
 
 .. currentmodule:: orcasong.data_to_images
 .. autosummary::
-    main
+    data_to_images
 
 Other than parsing every information to orcasong via the console, you can also load a .toml config file::
 
-    ~/orcasong$: python data_to_images.py -c config.toml testfile.h5 geofile.detx
+    ~/$: make_nn_images -c config.toml testfile.h5 geofile.detx
 
 Please checkout the config.toml file in the main folder of the OrcaSong repo in order to get an idea about
 the structure of the config file.
diff --git a/orcasong/file_to_hits.py b/orcasong/file_to_hits.py
index 71067b7c61cf36330a599572f32f25cef07a5c97..4cd53c40fb01ccc6c7d1cc283ecb9151e2c47ac9 100644
--- a/orcasong/file_to_hits.py
+++ b/orcasong/file_to_hits.py
@@ -217,52 +217,6 @@ def get_tracks(event_blob, file_particle_type, event_hits, prod_ident):
     return event_track
 
 
-def get_event_data(event_blob, file_particle_type, geo, do_mc_hits, data_cuts, do4d, prod_ident):
-    """
-    Reads a km3pipe blob which contains the information for one event and returns a hit array and a track array
-    that contains all relevant information of the event.
-
-    Parameters
-    ----------
-    event_blob : kp.io.HDF5Pump.blob
-        Event blob of the HDF5Pump which contains all information for one event.
-    file_particle_type : str
-        String that specifies the type of particles that are contained in the file: ['undefined', 'muon', 'neutrino'].
-    geo : kp.Geometry
-        km3pipe Geometry instance that contains the geometry information of the detector.
-        Only used if the event_blob is from a non-calibrated file!
-    do_mc_hits : bool
-        Tells the function of the hits (mc_hits + BG) or the mc_hits only should be parsed.
-        In the case of mc_hits, the dom_id needs to be calculated thanks to the jpp output.
-    data_cuts : dict
-        Specifies if cuts should be applied.
-        Contains the keys 'triggered' and 'energy_lower/upper_limit' and 'throw_away_prob'.
-    do4d : tuple(bool, str)
-        Tuple that declares if 4D histograms should be created [0] and if yes, what should be used as the 4th dim after xyz.
-        In the case of 'channel_id', this information needs to be included in the event_hits as well.
-    prod_ident : int
-        Optional int that identifies the used production, more documentation in the docs of the main function.
-    geo : None/kp.Geometry
-        If none, the event_blob should already contain the calibrated hit information (e.g. pos_xyz).
-        Else, a km3pipe Geometry instance that contains the geometry information of the detector.
-
-    Returns
-    -------
-    event_hits : ndarray(ndim=2)
-        2D array containing the hit information of the event [pos_xyz, time, triggered, (channel_id)].
-
-    event_track : ndarray(ndim=1)
-        1D array containing important MC information of the event,
-        [event_id, particle_type, energy, is_cc, bjorkeny, dir_x, dir_y, dir_z, time_track, run_id,
-        vertex_pos_x, vertex_pos_y, vertex_pos_z, time_residual_vertex, (prod_ident)].
-
-    """
-    event_hits = get_hits(event_blob, geo, do_mc_hits, data_cuts, do4d)
-    event_track = get_tracks(event_blob, file_particle_type, event_hits, prod_ident)
-
-    return event_hits, event_track
-
-
 class EventDataExtractor(kp.Module):
     """
     Class that takes a km3pipe blob which contains the information for one event and returns