diff --git a/tsg/cli.py b/tsg/cli.py
index 29de2978714539315dc82f7718c3f1d74f298d58..f448fcc305b765b311a1233ce45bddaa01968e03 100644
--- a/tsg/cli.py
+++ b/tsg/cli.py
@@ -34,11 +34,13 @@ def get_args():
 
 def output_filename(filename: str) -> str:
     filepath = Path(filename)
-    if filename.endswith(".csv") or filename.endswith(".tsv"):
-        return "generated_" + filepath.stem + ".csv"
-    if filename.endswith(".gtf"):
-        return "generated_" + filepath.name
-
+    if filepath.suffix == ".csv" or filepath.suffix == ".tsv":
+        outfile = "generated_" + filepath.stem + ".csv"
+    elif filepath.suffix == ".gtf":
+        outfile = "generated_" + filepath.name
+    else:
+        raise NotImplementedError()
+    return outfile
 
 def app():
     args = get_args()