diff --git a/Loffice/Loffice b/Loffice/Loffice
index ee66549..c06d0c8 100755
--- a/Loffice/Loffice
+++ b/Loffice/Loffice
@@ -1,76 +1,8 @@
#!/usr/bin/perl
-# If argument does not exist: Create a new file of the given type
-
-use File::Temp qw(tempfile);
-
-my @files = grep { not /^-/ and not -e $_ } @ARGV;
-
-my $gen = {
- "fodt" => odt,
- "odt" => odt,
- "fods" => ods,
- "ods" => ods,
- "fodp" => odp,
- "odp" => odp,
- "fodd" => odd,
- "odd" => odd,
-};
-
-for(@files) {
- my $extension = (/\.([^.]+)/)[0] || die;
- $gen->{$extension}($_,$extension);
-}
+# If argument does not exist: Create a new file
+my @files = grep { not /^-/ } @ARGV;
+my @newfiles = grep { not -e $_ } @files;
+@newfiles and system("touch",@newfiles);
exec 'loffice', @ARGV;
-
-sub ods {
- my $file = shift;
- my $extension = shift;
- my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".csv");
- system(qw(unoconv -d spreadsheet -f), $extension, '-o', $file, $tmpname);
- unlink $tmpname;
-}
-
-sub odt {
- my $file = shift;
- my $extension = shift;
- my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".txt");
- system(qw(unoconv -d document -f), $extension, '-o', $file, $tmpname);
- unlink $tmpname;
-}
-
-sub odp {
- my $file = shift;
- my $extension = shift;
- my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".svg");
- print $tmphandle q{
-
-
- };
- close $tmphandle;
- system(qw(unoconv -d presentation -f), $extension, '-o', $file, $tmpname);
- unlink $tmpname;
-}
-
-sub odd {
- my $file = shift;
- my $extension = shift;
- my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".svg");
- print $tmphandle q{
-
-
- };
- close $tmphandle;
- system(qw(unoconv -d graphics -f), $extension, '-o', $file, $tmpname);
- unlink $tmpname;
-}