diff --git a/bob/bio/base/config/grid/local.py b/bob/bio/base/config/grid/local.py
index beb2f917e6b28eff2c8121c6a9dd98f7137511a8..f2f3a87326dc66819eb8e4a5d1f5d5a2d891fc7b 100644
--- a/bob/bio/base/config/grid/local.py
+++ b/bob/bio/base/config/grid/local.py
@@ -1,20 +1,20 @@
 import bob.bio.base
 
 # define the queue using all the default parameters
-grid = bob.bio.base.GridParameters(
+grid = bob.bio.base.grid.Grid(
   grid = 'local',
   number_of_parallel_processes = 4
 )
 
 
 # define a queue that is highly parallelized
-grid_p8 = bob.bio.base.GridParameters(
+grid_p8 = bob.bio.base.grid.Grid(
   grid = 'local',
   number_of_parallel_processes = 8
 )
 
 # define a queue that is highly parallelized
-grid_p16 = bob.bio.base.GridParameters(
+grid_p16 = bob.bio.base.grid.Grid(
   grid = 'local',
   number_of_parallel_processes = 16
 )
diff --git a/bob/bio/base/script/verify.py b/bob/bio/base/script/verify.py
index 748df9770544804bfd6b8d096cf5753a0e165b0a..41f90e4002bfb7abc443c58cce632e559f6c3b77 100644
--- a/bob/bio/base/script/verify.py
+++ b/bob/bio/base/script/verify.py
@@ -235,6 +235,17 @@ def execute(args):
   # the file selector object
   fs = tools.FileSelector.instance()
 
+  if args.dry_run:
+    # Don't actually run the experiment, but just print out, what we would have done
+    parameters = ""
+    if args.group is not None: parameters += "group='%s' " % args.group
+    if args.model_type is not None: parameters += "and model-type='%s' " % args.model_type
+    if args.score_type is not None: parameters += "and score-type='%s' " % args.score_type
+    print ("Would have executed task '%s' with %s" % (args.sub_task, parameters if parameters else "no parameters"))
+    # return True as we pretend to have executed the task
+    return True
+
+
   # preprocess the data
   if args.sub_task == 'preprocess':
     tools.preprocess(
diff --git a/bob/bio/base/tools/command_line.py b/bob/bio/base/tools/command_line.py
index d51c78ef847c5ed5bb01caeb419dcb620145c2d0..57dc6b1ad3504ed014cf1238c8c855bd26783215 100644
--- a/bob/bio/base/tools/command_line.py
+++ b/bob/bio/base/tools/command_line.py
@@ -50,10 +50,10 @@ def command_line_parser(description=__doc__, exclude_resources_from=[]):
   results = "/idiap/user/%s/database-name/sub-directory" % os.environ["USER"] if is_idiap else "results"
 
   dir_group = parser.add_argument_group('\nDirectories that can be changed according to your requirements')
-  dir_group.add_argument('-T', '--temp-directory', metavar = 'DIR', default = temp,
-      help = 'The directory for temporary files.')
-  dir_group.add_argument('-U', '--result-directory', metavar = 'DIR', default = results,
-      help = 'The directory for resulting score files.')
+  dir_group.add_argument('-T', '--temp-directory', metavar = 'DIR',
+      help = 'The directory for temporary files, default is: %s.' % temp)
+  dir_group.add_argument('-U', '--result-directory', metavar = 'DIR',
+      help = 'The directory for resulting score files, default is: %s.' % results)
 
   file_group = parser.add_argument_group('\nName (maybe including a path relative to the --temp-directory, if not specified otherwise) of files that will be generated. Note that not all files will be used by all algorithms')
   file_group.add_argument('--extractor-file', metavar = 'FILE', default = 'Extractor.hdf5',
@@ -146,10 +146,6 @@ def initialize(parsers, command_line_parameters = None, skips = []):
   if args.timer is not None and not len(args.timer):
     args.timer = ('real', 'system', 'user')
 
-  # set base directories
-  args.temp_directory = os.path.join(args.temp_directory, args.sub_directory)
-  args.result_directory = os.path.join(args.result_directory, args.sub_directory)
-
   # load configuration resources
   args.database = load_resource(' '.join(args.database), 'database', imports = args.imports)
   args.preprocessor = load_resource(' '.join(args.preprocessor), 'preprocessor', imports = args.imports)
@@ -157,8 +153,20 @@ def initialize(parsers, command_line_parameters = None, skips = []):
   args.algorithm = load_resource(' '.join(args.algorithm), 'algorithm', imports = args.imports)
   if args.grid is not None:
     args.grid = load_resource(' '.join(args.grid), 'grid', imports = args.imports)
+
+  # set base directories
+  is_idiap = os.path.isdir("/idiap")
+  if args.temp_directory is None:
+    args.temp_directory = "/idiap/temp/%s/%s" % (os.environ["USER"], args.database.name) if is_idiap else "temp"
+  if args.result_directory is None:
+    args.result_directory = "/idiap/user/%s/%s" % (os.environ["USER"], args.database.name) if is_idiap else "results"
+
+  args.temp_directory = os.path.join(args.temp_directory, args.sub_directory)
+  args.result_directory = os.path.join(args.result_directory, args.sub_directory)
   args.grid_log_directory = os.path.join(args.temp_directory, args.grid_log_directory)
 
+
+
   # protocol command line override
   if args.protocol is not None:
     args.database.protocol = args.protocol