diff --git a/src/warden-client/lib/WardenClientCommon.pm b/src/warden-client/lib/WardenClientCommon.pm
new file mode 100644
index 0000000000000000000000000000000000000000..a5f6b166903c918767965b5afdc6a2c653e83189
--- /dev/null
+++ b/src/warden-client/lib/WardenClientCommon.pm
@@ -0,0 +1,82 @@
+#!/usr/bin/perl -w
+
+package WardenClientCommon;
+
+require Exporter;
+
+use strict;
+use Carp;
+
+use WardenClientConf qw($LOG_VERBOSE);
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(errMsg c2s);
+
+#-------------------------------------------------------------------------------
+# errMsg - print error message and die
+#-------------------------------------------------------------------------------
+sub errMsg
+{
+  my $msg = "Error message: " . shift;
+
+  if ($LOG_VERBOSE) { # user wants to log debug information
+    $msg .= "\nStack info: " . Carp::longmess();
+  }
+
+  die($msg . "\n");
+} # End of errMsg
+
+
+#-------------------------------------------------------------------------------
+# c2s - connect to server, send request and receive response
+#-------------------------------------------------------------------------------
+sub c2s
+{
+  my $uri               = shift;
+  my $ssl_key_file      = shift;
+  my $ssl_cert_file     = shift;
+  my $ssl_ca_file       = shift;
+  my $method            = shift;
+  my $data              = shift;
+
+  my $client;
+  my ($server, $port, $service) = $uri =~ /https:\/\/(.+)\:(\d+)\/(.+)/;
+  if (!($client = SOAP::Transport::HTTP::Client->new())) {
+    errMsg("Sorry, unable to create socket: " . &SOAP::Transport::HTTP::Client::errstr)
+  }
+  $client->timeout(10);
+  $client->ssl_opts(verify_hostname     => 1,
+                    SSL_use_cert        => 1,
+                    SSL_verify_mode     => 0x02,
+                    SSL_key_file        => $ssl_key_file,
+                    SSL_cert_file       => $ssl_cert_file,
+                    SSL_ca_file         => $ssl_ca_file);
+
+  # setting of URI and serialize SOAP envelope and data object
+  my $soap     = SOAP::Lite->uri($service)->proxy($uri);
+  my $envelope;
+  if (!defined $data) {
+    $envelope = $soap->serializer->envelope(method => $method);
+  } else {
+    $envelope = $soap->serializer->envelope(method => $method, $data);
+  }
+
+  # setting of TCP URI and send serialized SOAP envelope and data
+  my $server_uri = "https://$server:$port/$service";
+  my $result = $client->send_receive(envelope => $envelope, endpoint => $server_uri);
+
+  # check server response
+  if (!defined $result) {
+    errMsg("Error: server returned empty response." . "\n" . "Problem with used SSL ceritificates or Warden server at $server:$port is down.");
+  } else {
+    # deserialized response from server -> create SOAP envelope and data object
+    my $response;
+
+    eval {
+      $response = $soap->deserializer->deserialize($result);
+    } or errMsg($@ . "Received data: " . $result);
+    # check SOAP fault status
+    $response->fault ? errMsg("Server sent error message:: " . $response->faultstring) : return $response;
+  }
+}
+
diff --git a/src/warden-client/lib/WardenClientConf.pm b/src/warden-client/lib/WardenClientConf.pm
index 26340f9f23c1cfa97f57ed052715a41d641c2b8d..3872339113905038c92b798a4ffb530c0fcd25db 100755
--- a/src/warden-client/lib/WardenClientConf.pm
+++ b/src/warden-client/lib/WardenClientConf.pm
@@ -9,7 +9,10 @@
 package WardenClientConf;
 
 use strict;
-use Carp;
+require Exporter;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw($URI $SSL_KEY_FILE $SSL_CERT_FILE $SSL_CA_FILE $MAX_RCV_EVENTS_LIMIT $LOG_STDERR $LOG_SYSLOG $LOG_SYSLOG_FACILITY $LOG_VERBOSE);
 
 # preset of default variables
 our $URI = undef;
@@ -17,7 +20,7 @@ our $SSL_KEY_FILE = undef;
 our $SSL_CERT_FILE = undef;
 our $SSL_CA_FILE = undef;
 our $MAX_RCV_EVENTS_LIMIT = undef;
-our $LOG_STDERR = 0;
+our $LOG_STDERR = 1;
 our $LOG_SYSLOG = 0;
 our $LOG_SYSLOG_FACILITY = "local7";
 our $LOG_VERBOSE = 0;
@@ -25,92 +28,16 @@ our $LOG_VERBOSE = 0;
 
 our $VERSION = "2.0";
 
-#-------------------------------------------------------------------------------
-# loadConf - load variables from configuration file
-#-------------------------------------------------------------------------------
 sub loadConf
-{
+{  
   my $conf_file = shift;
 
-  # load set variables by user
+  # load configuration variables set by user
   unless (do $conf_file) {
     die("Errors in config file '$conf_file': $@") if $@;
     die("Can't read config file '$conf_file': $!") unless defined $_;
     # if $_ defined, it's retvalue of last statement of conf, for which we don't care
   }
-
-  return ($URI, $SSL_KEY_FILE, $SSL_CERT_FILE, $SSL_CA_FILE, $MAX_RCV_EVENTS_LIMIT, $LOG_STDERR, $LOG_SYSLOG, $LOG_SYSLOG_FACILITY);
-
-} # End of loadConf
-
-#-------------------------------------------------------------------------------
-# errMsg - print error message and die
-#-------------------------------------------------------------------------------
-sub errMsg
-{
-  my $msg = "Error message: " . shift;
-
-  if ($LOG_VERBOSE) { # user wants to log debug information
-    $msg .= "\nStack info: " . Carp::longmess();
-  }
-
-  die($msg . "\n");
-} # End of errMsg
-
-
-#-------------------------------------------------------------------------------
-# c2s - connect to server, send request and receive response
-#-------------------------------------------------------------------------------
-sub c2s
-{
-  my $uri               = shift;
-  my $ssl_key_file      = shift;
-  my $ssl_cert_file     = shift;
-  my $ssl_ca_file       = shift;
-  my $method            = shift;
-  my $data              = shift;
-
-  my $client;
-  my ($server, $port, $service) = $uri =~ /https:\/\/(.+)\:(\d+)\/(.+)/;
-  if (!($client = SOAP::Transport::HTTP::Client->new())) {
-    errMsg("Sorry, unable to create socket: " . &SOAP::Transport::HTTP::Client::errstr)
-  }
-  $client->timeout(10);
-  $client->ssl_opts(verify_hostname     => 1,
-                    SSL_use_cert        => 1,
-                    SSL_verify_mode     => 0x02,
-                    SSL_key_file        => $ssl_key_file,
-                    SSL_cert_file       => $ssl_cert_file,
-                    SSL_ca_file         => $ssl_ca_file);
-
-  # setting of URI and serialize SOAP envelope and data object
-  my $soap     = SOAP::Lite->uri($service)->proxy($uri);
-  my $envelope;
-  if (!defined $data) {
-    $envelope = $soap->serializer->envelope(method => $method);
-  } else {
-    $envelope = $soap->serializer->envelope(method => $method, $data);
-  }
-
-  # setting of TCP URI and send serialized SOAP envelope and data
-  my $server_uri = "https://$server:$port/$service";
-  my $result = $client->send_receive(envelope => $envelope, endpoint => $server_uri);
-
-  # check server response
-  if (!defined $result) {
-    errMsg("Error: server returned empty response." . "\n" . "Problem with used SSL ceritificates or Warden server at $server:$port is down.");
-  } else {
-    # deserialized response from server -> create SOAP envelope and data object
-    my $response;
-
-    eval {
-      $response = $soap->deserializer->deserialize($result);
-    } or errMsg($@ . "Received data: " . $result);
-    # check SOAP fault status
-    $response->fault ? errMsg("Server sent error message:: " . $response->faultstring) : return $response;
-  }
 }
 
-
-
 1;
diff --git a/src/warden-client/lib/WardenClientReceive.pm b/src/warden-client/lib/WardenClientReceive.pm
index 7cb6b476269a90df5bdadc8e288b0faccbf71ba0..20a139ac922c3e2d8f5f1ff81baa48d6e9af4f6c 100755
--- a/src/warden-client/lib/WardenClientReceive.pm
+++ b/src/warden-client/lib/WardenClientReceive.pm
@@ -13,19 +13,10 @@ use SOAP::Lite;
 use IO::Socket::SSL qw(debug1);
 use SOAP::Transport::HTTP;
 use FindBin;
-# use Carp;
 use Sys::Syslog;
 
-our $VERSION = "2.0";
-
-#----- global configuration variables - default initialization -----------------
-our $LOG_STDERR = 1;
-
-our $LOG_SYSLOG = 0;
-our $LOG_SYSLOG_FACILITY;
 
-our $LOG_VERBOSE = 0;
-#----- end of configuration variables ------------------------------------------
+our $VERSION = "2.0";
 
 #-------------------------------------------------------------------------------
 # getNewEvents - get new events from warden server greater than last received ID
@@ -43,11 +34,15 @@ sub getNewEvents
     my $etcdir = $warden_path . "/etc/";
     my $libdir = $warden_path . "/lib/";
 
+    # use lib "/asdf/aasdf"; # cesta do lib/ adresare wardenu
+    # use WardenClientConf qw($URI $SSL_KEY_FILE $SSL_CERT_FILE $SSL_CA_FILE $MAX_RCV_EVENTS_LIMIT $LOG_STDERR $LOG_SYSLOG $LOG_SYSLOG_FACILITY $LOG_VERBOSE);
+    require $libdir . "WardenClientConf.pm";
+    # use WardenClientCommon qw (errMsg c2s);
+    require $libdir . "WardenClientCommon.pm"
+
     # read the config file
-    require $libdir .  "WardenClientConf.pm";
     my $conf_file = $etcdir . "warden-client.conf";
-    my ($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, $max_rcv_events_limit);
-    ($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, $max_rcv_events_limit, $LOG_STDERR, $LOG_SYSLOG, $LOG_SYSLOG_FACILITY) = WardenClientConf::loadConf($conf_file);
+    WardenClientConf::loadConf($conf_file);
 
     # set name of ID file for each client aplication 
     my $caller_name = $FindBin::Script;
@@ -58,15 +53,15 @@ sub getNewEvents
     # get last ID from warden server DB and save it into ID file
     my $last_id;
     if (-e $id_file) {
-      open(ID, "< $id_file") || WardenClientConf::errMsg("Cannot open ID file $id_file: $!");
+      open(ID, "< $id_file") || errMsg("Cannot open ID file $id_file: $!");
       foreach(<ID>) {
         $last_id = $_;
       }
       close ID;
     } else {
-      my $response = WardenClientConf::c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getLastId");
+      my $response = c2s($URI, $SSL_KEY_FILE, $SSL_CERT_FILE, $SSL_CA_FILE, "getLastId");
       $last_id = $response->result;
-      open(ID, "> $id_file") || WardenClientConf::errMsg("Cannot open ID file $id_file: $!");
+      open(ID, "> $id_file") || errMsg("Cannot open ID file $id_file: $!");
       print ID $last_id;
       close ID;
     }
@@ -79,12 +74,12 @@ sub getNewEvents
       request => \SOAP::Data->value(
         SOAP::Data->name(REQUESTED_TYPE 		=> $requested_type),
         SOAP::Data->name(LAST_ID        		=> $last_id),
-        SOAP::Data->name(MAX_RCV_EVENTS_LIMIT 	=> $max_rcv_events_limit)
+        SOAP::Data->name(MAX_RCV_EVENTS_LIMIT 	        => $MAX_RCV_EVENTS_LIMIT)
       )
     );
   
     # call server method getNewEvents 
-    my $response = WardenClientConf::c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getNewEvents", $request_data);
+    my $response = c2s($URI, $SSL_KEY_FILE, $SSL_CERT_FILE, $SSL_CA_FILE, "getNewEvents", $request_data);
 
     # parse returned SOAP data object
     my ($id, $hostname, $service, $detected, $type, $source_type, $source, $target_proto, $target_port, $attack_scale, $note, $priority, $timeout);
@@ -120,14 +115,14 @@ sub getNewEvents
 
     # write last return ID
     if (defined $last_id) { # must be defined for first check ID
-      open(ID, "> $id_file") || WardenClientConf::errMsg("Cannot open ID file $id_file: $!");
+      open(ID, "> $id_file") || errMsg("Cannot open ID file $id_file: $!");
       print ID $last_id;
       close ID;
     }
   } # End of eval block
   or do {
-   
-    if ($LOG_STDERR) {
+  
+   if ($LOG_STDERR) {
       print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n";
     }