diff --git a/lib/Redmine/CLI.pm b/lib/Redmine/CLI.pm
index c698ba644b2c31efab5767a068264ee9edd664cf..de612dc8783262989e3a1d05c88966207260fd5f 100644
--- a/lib/Redmine/CLI.pm
+++ b/lib/Redmine/CLI.pm
@@ -64,6 +64,7 @@ EOPOD
 
   project_name
   ticket_number
+  out_csv
 
 =cut
 EOPOD
@@ -72,7 +73,7 @@ EOPOD
 my $default_config_fnm= 'redmine.json';
 my @default_home_dirs= ('etc', undef, 'bin');
 
-my @env_vars= qw(project_name ticket_number);
+my @env_vars= qw(project_name ticket_number out_csv);
 my %env_vars= map { $_ => 1 } @env_vars;
 
 sub new
@@ -100,7 +101,7 @@ sub new
     # print "NOTE: trying [$f] as config filen name\n";
     if (-f $f)
     {
-      # print "NOTE: picked [$f] as config filen name\n";
+      print "NOTE: picked [$f] as config filen name\n";
       $obj->{'cfg_fnm'}= $f;
       last;
     }
@@ -152,9 +153,8 @@ sub parse_args
       elsif ($opt eq 'config')   { $self->{cfg_fnm}=      $val || shift (@ARGV); }
       elsif ($opt eq 'stanza')   { $self->{cfg_stanza}=   $val || shift (@ARGV); }
       elsif ($opt eq 'project')  { $self->{project_name}= $val || shift (@ARGV); }
-      # elsif ($opt eq 'show') { $self->{op_mode}= 'show'; }
-      # elsif ($opt eq 'list') { $self->{op_mode}= 'list'; }
-      # TODO: allow extra arguments
+      elsif ($opt eq 'out')      { $self->{out_csv}=      $val || shift (@ARGV); }
+      # TODO: allow extra arguments for plugins or otherwise
       else { usage('error', "unknown option --${arg}"); exit(0); }
     }
     elsif ($arg =~ /^-(.+)/)
@@ -266,7 +266,7 @@ sub interpret
   {
     foreach my $an (@env_vars)
     {
-      printf ("%12s = '%s'\n", $an, $self->{$an});
+      printf ("%-15s = '%s'\n", $an, $self->{$an});
     }
   }
   elsif ($op_mode eq 'set')
@@ -289,7 +289,8 @@ sub interpret
     my $project_name= (@$pars) ? shift (@$pars) : $self->{project_name};
 
     print "project_name=[$project_name]\n";
-    Redmine::CLI::show_issues ($rm, $project_name);
+    my $out_csv= $self->{out_csv};
+    Redmine::CLI::show_issues ($rm, $project_name, $out_csv);
   }
   elsif ($op_mode eq 'show')
   {
@@ -385,6 +386,7 @@ sub show_issues
 {
   my $rm= shift;
   my $proj_name= shift;
+  my $save_as_tsv= shift;
 
   my $proj= $rm->project($proj_name);
   print "proj_name=[$proj_name] proj: ", Dumper ($proj);
@@ -432,6 +434,12 @@ sub show_issues
   $csv->sort ('subject', 0, 0);
 
   $csv->matrix_view (\@columns1);
+
+  if (defined ($save_as_tsv))
+  {
+    print "saving tsv file to '$save_as_tsv'\n";
+    $csv->save_csv_file (separator => "\t", filename => $save_as_tsv);
+  }
 }
 
 sub filter1
diff --git a/lib/Redmine/Wrapper.pm b/lib/Redmine/Wrapper.pm
index 7cb7c909290aef3914c1f4f0ccd1189a1582f205..2e5a4248cf379a1d255a5291e44cfd983f92a7ea 100644
--- a/lib/Redmine/Wrapper.pm
+++ b/lib/Redmine/Wrapper.pm
@@ -10,6 +10,8 @@ my %automapping=
   'project_ids' => 1,
 );
 
+my %USER_NAMES= map { $_ => 1 } qw(assigned_to);
+
 sub new
 {
   my $class= shift;
@@ -57,6 +59,8 @@ sub get_mapped_id
 
   my $c= $self->{'cfg'};
   # print "cfg: ", main::Dumper ($c);
+
+  $map_name= 'user' if (exists ($USER_NAMES{$map_name}));
   my $m= $c->{$map_name.'_ids'};
 
   # print "map_name=[$map_name] name=[$name] m=", main::Dumper ($m);