diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e511bc66abd7a23f07b9c822de4c792dd42057e4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+.*.swp
+misc/
+list-sms
+send-sms
diff --git a/lib/Huawei/Hilink.pm b/lib/Huawei/Hilink.pm
index 79ee3d268bfbef45ef4a2add1b4685ee3720c069..354208394ed4b692b5bee4cd3472d250951752ee 100755
--- a/lib/Huawei/Hilink.pm
+++ b/lib/Huawei/Hilink.pm
@@ -13,6 +13,7 @@ use XML::Simple;
 
 my $verbose= 0;
 my $debug= 0;
+my $standalone= 0;
 
 my %queries=
 (
@@ -95,19 +96,6 @@ sub send_sms
 
   my $url= 'http://'. $self->{gwip}. '/api/sms/send-sms';
 
-=begin comment
-
-  my @cmd= ('curl', $url,
-            '-H', 'Cookie: '. $session_id, '-H', '__RequestVerificationToken: ' . $token,
-            '--data', "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$phone</Phone></Phones><Sca></Sca><Content>$message</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>");
-  push (@cmd, '-v') if ($debug);
-
-  print __LINE__, " cmd: ", join(' ', @cmd), "\n" if ($debug);
-  system(@cmd);
-
-=end comment
-=cut
-
   my $submit_data= "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$phone</Phone></Phones><Sca></Sca><Content>$message</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>";
 
   my $ua= $self->{_ua} || ($self->{_ua}= new LWP::UserAgent());
@@ -121,10 +109,11 @@ sub send_sms
     return (undef, undef);
   }
   my $result_data= $resp->decoded_content;
+  print __LINE__, " result_data=[$result_data]\n";
   my $ref= XMLin($result_data);
-  print __LINE__, " ref: ", Dumper($ref);
+  print __LINE__, " ref: ", Dumper($ref) if ($debug || $standalone);
 
-  1;
+  $ref;
 }
 
 sub list_sms
@@ -139,7 +128,7 @@ sub list_sms
     my ($session_id, $token)= $self->get_session();
     $ua->default_header('Cookie', $session_id);
     $ua->default_header(':__RequestVerificationToken', $token);
-    $ua->default_header('X-Requested-With', 'XMLHttpRequest'); # 
+  # $ua->default_header('X-Requested-With', 'XMLHttpRequest'); # not needed
 
   my $submit_data= <<"EOX";
 <request>
@@ -158,9 +147,11 @@ EOX
     return (undef, undef);
   }
   my $result_data= $resp->decoded_content;
+  print __LINE__, " result_data=[$result_data]\n";
   my $ref= XMLin($result_data);
-  print __LINE__, " ref: ", Dumper($ref);
+  print __LINE__, " ref: ", Dumper($ref) if ($debug || $standalone);
 
+  $ref;
 }
 
 sub query
@@ -189,13 +180,9 @@ sub query
 
     $ua->default_header('Cookie', $session_id);
     $ua->default_header(':__RequestVerificationToken', $token);
-  # $ua->default_header('X-Requested-With', 'XMLHttpRequest');
+  # $ua->default_header('X-Requested-With', 'XMLHttpRequest'); # not needed
   }
 
-# push (@cmd, '-v') if ($debug);
-# print __LINE__, " cmd: ", join(' ', @cmd), "\n" if ($debug);
-# system(@cmd);
-
   my $resp= $ua->get($url);
   unless ($resp->is_success)
   {
@@ -204,14 +191,15 @@ sub query
   }
   my $data= $resp->decoded_content;
   my $ref= XMLin($data);
-  print __LINE__, " ref: ", Dumper($ref);
+  print __LINE__, " ref: ", Dumper($ref) if ($debug || $standalone);
 
-  1;
+  $ref;
 }
 
 sub main
 {
   my @PARS;
+  push (@PARS, $1) if ($0 =~ m#(send-sms|list-sms)#);
   my $gwip= '192.168.8.1';
   while (my $arg= shift (@ARGV))
   {
@@ -230,6 +218,7 @@ sub main
     exit(1);
   }
 
+  $standalone= 1;
   my $obj= new Huawei::Hilink (gwip => $gwip);
 
   my $op_code= shift (@PARS);