diff --git a/sensors/cp_protocol.py b/sensors/cp_protocol.py
index 9b52646..79f94af 100644
--- a/sensors/cp_protocol.py
+++ b/sensors/cp_protocol.py
@@ -7,14 +7,12 @@
 import binascii
 import logging
 
-import msgpack
-
 from logger import define_logger
 
 # protocol contains 2 type of packet:
 # 1 - header, which contains template schema of counters
 # 2 - body, which contains only values in order as in template
-#       it uses msgpack for optimization
+#       it uses msgpack (or provided packer) for optimization
 #
 # packet has format:
 # begin_data_prefixSIZE\n\nDATAend_data_postfix
@@ -42,7 +40,7 @@
     # data
     # data_len
 
-    def __init__(self):
+    def __init__(self, packer):
         # preinit
         self.is_begin = False
         self.is_end = False
@@ -52,6 +50,7 @@
         self.srv_template = None
         self.clt_template = None
         self.tmpl_size = 0
+        self.packer = packer
 
 
     def new_packet(self, part):
@@ -106,7 +105,7 @@
                     return None
 
                 # decode values list
-                vals = msgpack.unpackb(self.data)
+                vals = self.packer.unpack(self.data)
                 dump = self.srv_template % tuple(vals)
                 return dump
             else:
@@ -175,7 +174,7 @@
             result.extend(header)
 
         vals = self.get_matching_value_list(data)
-        body = msgpack.packb(vals)
+        body = self.packer.pack(vals)
         parts = Packet.create_packet(body, part_size)
         result.extend(parts)
         return result
