diff --git a/initify.pl b/initify.pl
index 3d8b1bd..fbfbce8 100755
--- a/initify.pl
+++ b/initify.pl
@@ -14,18 +14,31 @@ my @cmds_start = ();
 my @cmds_stop = ();
 my $pidfile = "";
 my $desc = "";
-(my $service  = $ARGV[0]) =~ s/\.service//;
-(my $svc_name = $ARGV[0]) =~ s|(.*/)?([^/.]*)\.service|$2|;
 
+# parse CLI args
 my %opt;
 GetOptions(\%opt,
            "name=s",
            "help|?") || pod2usage(2);
-
 pod2usage() if ($opt{help});
 
+# get systemd service source file, and target service name
+(my $service = $ARGV[0])=~s/\.service//;
+(my $svc_name = $ARGV[0])=~s|(.*/)?([^/.]*)\.service|$2|;
 $svc_name = $opt{name} if (length $opt{name});
 
+# sanity checks
+my $USAGE = "Usage: initify [options] some-systemd.service";
+unless ($ARGV[0] =~ /(.*\/)?([^\/.]*)\.service/) {
+    print "no *.service file specified - quitting\n$USAGE\n";
+    exit;
+}
+unless (-e "$ARGV[0]") {
+    print "can not find *.service file: '$ARGV[0]' - quitting\n$USAGE\n";
+    exit;
+}
+
+# begin
 while(<>) {
     #s/\s*|\s*$//g; # Trim whitespace
     if (m/^Type\s*=\s*(.*)/) {
