diff --git a/scripts/cmd_hive.pl b/scripts/cmd_hive.pl
index 62dcf942c1536d25daa6576196f7d41148e2760d..6ad53105b00df2e2e6e5b672bd0bbf9d0340e5f3 100755
--- a/scripts/cmd_hive.pl
+++ b/scripts/cmd_hive.pl
@@ -1,4 +1,5 @@
 #!/usr/local/bin/perl -w
+
 # cmd_hive.pl
 #
 # Cared for by Albert Vilella <>
@@ -78,7 +79,9 @@ $self->{'db_conf'}->{'-user'} = 'ensro';
 $self->{'db_conf'}->{'-port'} = 3306;
 
 $self->{'analysis_id'} = undef;
-$self->{'logic_name'}  = undef;
+$self->{'logic_name'}  = 'cmd_hive_analysis';
+$self->{'module'}      = 'Bio::EnsEMBL::Hive::RunnableDB::SystemCmd';
+$self->{'parameters'}  = '{}';
 $self->{'outdir'}      = undef;
 $self->{'beekeeper'}   = undef;
 $self->{'process_id'}  = undef;
@@ -96,13 +99,15 @@ GetOptions('help'            => \$help,
            'dbname=s'        => \$dbname,
            'analysis_id=i'   => \$self->{'analysis_id'},
            'logic_name=s'    => \$self->{'logic_name'},
+           'module=s'        => \$self->{'module'},
            'limit=i'         => \$self->{'job_limit'},
            'lifespan=i'      => \$self->{'lifespan'},
            'outdir=s'        => \$self->{'outdir'},
            'bk=s'            => \$self->{'beekeeper'},
            'pid=s'           => \$self->{'process_id'},
            'input_id=s'      => \$self->{'input_id'},
-           'inputfile=s'      => \$self->{'inputfile'},
+           'parameters=s'    => \$self->{'parameters'},
+           'inputfile=s'     => \$self->{'inputfile'},
            'suffix_a=s'      => \$self->{'suffix_a'},
            'suffix_b=s'      => \$self->{'suffix_b'},
            'hashed_a=s'      => \$self->{'hashed_a'},
@@ -156,27 +161,30 @@ sub usage {
   print "cmd_hive.pl [options]\n";
   print "  -help                  : print this help\n";
   print "  -url <url string>      : url defining where hive database is located\n";
-  print "  -input_id <cmd string> : command to be executed\n";
+  print "  -input_id <cmd string> : command to be executed (or param. hash to be passed to analysis module)\n";
   print "  -suffix_a <tag>        : suffix from here\n";
   print "  -suffix_b <tag>        : suffix to here\n";
   print "  -suffix_bn <tag>       : end for suffix in multiple levels\n";
   print "  -tag <tag>             : fixed tag in the command line\n"; 
-  print "cmd_hive.pl v1.0\n";
+  print "  -logic_name <analysis name>  : logic_name of the analysis\n";
+  print "  -module <module name>  : name of the module to be run\n";
   exit(1);
 }
 
 sub job_creation {
   my $self = shift;
 
-  my $logic_name = $self->{'logic_name'} || "cmd_hive_analysis";
-  print("creating analysis '$logic_name'\n");
+  my $logic_name = $self->{'logic_name'};
+  my $module     = $self->{'module'};
+  my $parameters = $self->{'parameters'};
+  print("creating analysis '$logic_name' to be computed using module '$module' with parameters '$parameters'\n");
   $self->{_analysis} = Bio::EnsEMBL::Analysis->new (
       -db              => '',
       -db_file         => '',
       -db_version      => '1',
-      -parameters      => "",
+      -parameters      => $parameters,
       -logic_name      => $logic_name,
-      -module          => 'Bio::EnsEMBL::Hive::RunnableDB::SystemCmd',
+      -module          => $module,
     );
   $DBA->get_AnalysisAdaptor()->store($self->{_analysis});
 
@@ -217,7 +225,9 @@ sub job_creation {
       $self->{resolved_input_id} =~ s/\$suffix/$suffix/g;
       $self->{resolved_input_id} =~ s/\$tag/$tag/g;
 
-      print "", $self->{resolved_input_id}, " at ",(time()-$starttime)," secs\n"; # if(++$count % 50 == 0);
+      if(++$count % 100 == 0) {
+          print "", $self->{resolved_input_id}, " at ",(time()-$starttime)," secs\n";
+      }
       $self->create_resolved_input_id_job();
     }
   }