diff --git a/Ccs/communication.py b/Ccs/communication.py
index 11dd564be22d154b033e5d826481c0c1c5be53be..4e42b36c98b4780f53c5bc385804891e652724df 100644
--- a/Ccs/communication.py
+++ b/Ccs/communication.py
@@ -22,7 +22,7 @@ class Connector:
     def __init__(self, host, port, is_server=False, response_to=2, recv_nbytes_min=0, save_to_file=None, msgdecoding='hex', resp_decoder=None):
 
         self.sock_timeout = 10
-        self.response_to = response_to
+        self._response_to = response_to
         self.host = host
         self.port = port
         self.isserver = is_server
@@ -34,6 +34,7 @@ class Connector:
         self.log = []
         self._storagefd = None
         self._storage_hexsep = ''
+        self._storage_fmt = '{:.3f}\t{}\t{}\n'
 
         self.receiver = None
 
@@ -45,9 +46,12 @@ class Connector:
         if save_to is not None:
             self.setup_storage(save_to)
 
-    def setup_storage(self, fname, hexsep=''):
+    def setup_storage(self, fname, hexsep=None, fmt=None):
         self._storagefd = open(fname, 'w')
-        self._storage_hexsep = hexsep
+        if hexsep is not None:
+            self._storage_hexsep = hexsep
+        if fmt is not None:
+            self._storage_fmt = fmt
 
     def setup_port(self):
 
@@ -70,7 +74,7 @@ class Connector:
             self.conn = self.sockfd
             print('Connected to {}:{}'.format(self.host, self.port))
 
-        self.conn.settimeout(self.response_to)
+        self.conn.settimeout(self._response_to)
 
     def _close(self, servershtdwn):
         if self.conn.fileno() != -1:
@@ -103,10 +107,9 @@ class Connector:
         self._storagefd.close()
         self._storagefd = None
 
-    def dump_log(self, fname, hexsep=''):
-        log = '\n'.join(['{:.3f}\t{}\t{}'.format(t, _msgdecoder(msg, self.msgdecoding, sep=hexsep), _msgdecoder(resp, self.msgdecoding, sep=hexsep)) for (t, msg, resp) in self.log])
+    def dump_log(self, fname, hexsep='', fmt='{:.3f}\t{}\t{}'):
         with open(fname, 'w') as fd:
-            fd.write(log)
+            fd.write('\n'.join([fmt.format(t, _msgdecoder(msg, self.msgdecoding, sep=hexsep), _msgdecoder(resp, self.msgdecoding, sep=hexsep)) for (t, msg, resp) in self.log]))
 
     def send(self, msg, rx=True, output=False):
 
@@ -124,11 +127,11 @@ class Connector:
             self.log.append((t, msg, resp))
 
             if self._storagefd is not None:
-                self._storagefd.write('{:.3f}\t{}\t{}\n'.format(t, _msgdecoder(msg, self.msgdecoding, sep=self._storage_hexsep), _msgdecoder(resp, self.msgdecoding, sep=self._storage_hexsep)))
+                self._storagefd.write(self._storage_fmt.format(t, _msgdecoder(msg, self.msgdecoding, sep=self._storage_hexsep), _msgdecoder(resp, self.msgdecoding, sep=self._storage_hexsep)))
                 self._storagefd.flush()
 
             if output:
-                print('{:.3f}: SENT {} | RECV: {}'.format(t, _msgdecoder(msg, self.msgdecoding), _msgdecoder(resp, self.msgdecoding)))
+                print('{:.3f}: SENT {} | RECV {}'.format(t, _msgdecoder(msg, self.msgdecoding), _msgdecoder(resp, self.msgdecoding)))
 
             if not rx:
                 return None
@@ -164,7 +167,7 @@ class Connector:
 
     def set_response_to(self, seconds):
         self.conn.settimeout(seconds)
-        self.response_to = seconds
+        self._response_to = seconds
 
     def start_receiver(self, procfunc=None, outfile=None, ofmode='w'):
         """