diff --git a/sensors/cp_transport.py b/sensors/cp_transport.py
index b8719a5..1b951f2 100644
--- a/sensors/cp_transport.py
+++ b/sensors/cp_transport.py
@@ -21,7 +21,7 @@
 class Sender(object):
     """ UDP sender class """
 
-    def __init__(self, url=None, port=None, host="127.0.0.1", size=256):
+    def __init__(self, packer, url=None, port=None, host="0.0.0.0", size=256):
         """ Create connection object from input udp string or params"""
 
         # test input
@@ -55,6 +55,8 @@
             self.bindto = ("0.0.0.0", port)
             self.size = size
 
+        self.packer = packer
+
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         self.binded = False
         self.all_data = {}
@@ -80,7 +82,7 @@
         """ Send data by Packet protocol
             data = dict"""
         if self.send_packer is None:
-            self.send_packer = Packet()
+            self.send_packer = Packet(self.packer())
         parts = self.send_packer.create_packet_v2(data, self.size)
         for part in parts:
             self.send(part)
@@ -104,7 +106,7 @@
         data, remote_ip = self.recv()
 
         if remote_ip not in self.all_data:
-            self.all_data[remote_ip] = Packet()
+            self.all_data[remote_ip] = Packet(self.packer())
 
         return self.all_data[remote_ip].new_packet(data)
 
