diff --git a/Makefile.PL b/Makefile.PL
index eb8ecc3..56ab8ee 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -34,7 +34,8 @@
     'utf8'            => 0,
     'bytes'           => 0,
     'Pod::Usage'      => 0,
-    'Cache::FastMmap' => 1.40
+    'Cache::FastMmap' => 1.40,
+    'Sys::Info'       => 0.78
   },
   MIN_PERL_VERSION => '5.014',
   test => {
diff --git a/lib/KorAP/XML/ForkPool.pm b/lib/KorAP/XML/ForkPool.pm
index e60135f..c42ea51 100644
--- a/lib/KorAP/XML/ForkPool.pm
+++ b/lib/KorAP/XML/ForkPool.pm
@@ -2,7 +2,9 @@
 use strict;
 use warnings;
 use Parallel::ForkManager;
-
+use v5.10;
+use Sys::Info;
+use Sys::Info::Constants qw( :device_cpu );
 
 # Construct a new fork pool
 sub new {
@@ -31,7 +33,7 @@
       my $data = pop;
 
       print 'Convert [' . ($self->{jobs} > 0 ? "\$$pid:" : '') .
-	($self->{iter}++) . '/' . $self->{count} . ']';
+        ($self->{iter}++) . '/' . $self->{count} . ']';
       print ($code ? " $code" : '') . " $$data\n";
     }
   );
@@ -66,14 +68,14 @@
 
     unless ($self->{overwrite}) {
       my $filename = catfile(
-	$output,
-	get_file_name($dirs[$i]) . '.json' . ($gzip ? '.gz' : '')
+        $output,
+        get_file_name($dirs[$i]) . '.json' . ($gzip ? '.gz' : '')
       );
 
       if (-e $filename) {
-	$iter++;
-	print "Skip $filename\n";
-	next;
+        $iter++;
+        print "Skip $filename\n";
+        next;
       };
     };
 
@@ -121,17 +123,17 @@
     unless ($self->{overwrite}) {
 
       my $filename = catfile(
-	$output,
-	get_file_name(
-	  catfile($corpus, $doc, $text)
-	    . '.json' . ($gzip ? '.gz' : '')
-	  )
+        $output,
+        get_file_name(
+          catfile($corpus, $doc, $text)
+            . '.json' . ($gzip ? '.gz' : '')
+          )
       );
 
       if (-e $filename) {
-	$iter++;
-	print "Skip $filename\n";
-	next;
+        $iter++;
+        print "Skip $filename\n";
+        next;
       };
     };
 
diff --git a/script/korapxml2krill b/script/korapxml2krill
index b61ae04..66af16f 100644
--- a/script/korapxml2krill
+++ b/script/korapxml2krill
@@ -7,6 +7,7 @@
 use Getopt::Long qw/GetOptions :config no_auto_abbrev/;
 use Benchmark qw/:hireswallclock/;
 use IO::Compress::Gzip qw/$GzipError/;
+use POSIX qw/ceil/;
 use Log::Log4perl;
 use Pod::Usage;
 use Cache::FastMmap;
@@ -16,9 +17,16 @@
 use KorAP::XML::Tokenizer;
 use KorAP::XML::Batch::File;
 use Parallel::ForkManager;
+use v5.10;
+use Sys::Info;
+use Sys::Info::Constants qw( :device_cpu );
+
+# use KorAP::XML::ForkPool;
 # TODO: use Parallel::Loops
 # TODO: make output files
 
+# TODO: Use KorAP::XML::ForkPool!
+
 # CHANGES:
 # ----------------------------------------------------------
 # 2013/11/25
@@ -103,6 +111,7 @@
 my (@skip, @sigle, @anno, @input);
 my $text;
 
+
 # Parse options from the command line
 GetOptions(
   'input|i=s'   => \@input,
@@ -170,6 +179,13 @@
 
 my $log = Log::Log4perl->get_logger('main');
 
+
+if ($jobs == -1) {
+  state $cores = Sys::Info->new->device('CPU')->count;
+  $jobs = ceil(5 * $cores);
+  $log->info("Run using $jobs jobs");
+};
+
 my %skip;
 $skip{lc($_)} = 1 foreach @skip;
 
@@ -786,6 +802,8 @@
 Define the number of concurrent jobs in seperated forks
 for archive processing.
 Defaults to C<0> (everything runs in a single process).
+Pass -1, and the value will be set automatically to 5
+times the number of available cores.
 This is I<experimental>.
 
 =item B<--meta|-m>
