diff --git a/src/km3irf/utils/__init__.py b/src/km3irf/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1a8750efb31a9ef2f14b5643224d41362e6e865
--- /dev/null
+++ b/src/km3irf/utils/__init__.py
@@ -0,0 +1,4 @@
+"""
+A collection of utils.
+
+"""
diff --git a/src/km3irf/utils/listdata.py b/src/km3irf/utils/listdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa9d0205b4614d1471a8909eb303b8c6c4a101c9
--- /dev/null
+++ b/src/km3irf/utils/listdata.py
@@ -0,0 +1,35 @@
+"""
+Show the content of the data folder including pathes to files
+"""
+
+from glob import glob
+from os.path import getsize
+from prettytable import PrettyTable
+from importlib_resources import files
+from os import path
+
+
+
+def listdata():
+    tab = PrettyTable(["File Path","Size, KB"], align="l")
+    data_path = path.join(f"{files('km3irf')}","data","*.fits")
+    # for file in glob(f"{files('km3irf')}/data/*.fits", recursive=True):
+    for file in glob(data_path, recursive=True):
+        #add row with file name and size in KB
+        tab.add_row([file, round(getsize(filename=file)/float(1<<10), 2)])
+
+    print(tab)
+
+
+
+def main():
+    # from docopt import docopt
+
+    # arguments = docopt(__doc__)
+
+    # h5info(arguments["FILE"], arguments["--raw"])
+    listdata()
+
+
+if __name__ == "__main__":
+    main()
diff --git a/src/km3irf/utils/mergefits.py b/src/km3irf/utils/mergefits.py
new file mode 100644
index 0000000000000000000000000000000000000000..25329b751922cb24b0ea608ce81219a841c72409
--- /dev/null
+++ b/src/km3irf/utils/mergefits.py
@@ -0,0 +1,49 @@
+"""Merge separated fits files into one irf fits file, which can be used in gammapy
+"""
+
+from os import path
+data_dir = path.join(path.dirname(__file__), 'data')
+
+def mergefits(aeff_fits=path.join(data_dir, "aeff.fits"), 
+               psf_fits=path.join(data_dir, "psf.fits"), 
+               edisp_fits=path.join(data_dir, "edisp.fits"),
+               bkg_fits=path.join(data_dir, "bkg_nu.fits"),
+               output_file='all_in_one.fits'):
+
+    hdu_list = []
+    hdu_list.append(fits.PrimaryHDU())
+
+    file_aeff = fits.open(aeff_fits) 
+    hdu_list.append(file_aeff[1])
+    hdu_list[1].name = 'EFFECTIVE AREA'
+
+    file_psf = fits.open(psf_fits)
+    hdu_list.append(file_psf[1])
+    hdu_list[2].name = 'POINT SPREAD FUNCTION'
+
+    file_edisp = fits.open(edisp_fits)
+    hdu_list.append(file_edisp[1])
+    hdu_list[3].name = 'ENERGY DISPERSION'
+
+    file_bkg = fits.open(bkg_fits)
+    hdu_list.append(file_bkg[1])
+    hdu_list[4].name = 'BACKGROUND'
+    
+    new_fits_file = fits.HDUList(hdu_list)
+    new_fits_file.writeto(path.join(data_dir, output_file), overwrite=True)
+
+    file_aeff.close()
+    file_psf.close()
+    file_edisp.close()
+    file_bkg.close()
+
+def main():
+    # from docopt import docopt
+
+    # arguments = docopt(__doc__)
+
+    # mergefits(arguments["FILE"], arguments["--raw"])
+    mergefits()
+
+if __name__ == "__main__":
+    main()