Kamstrup will not start up
The reason seems to be related to a wrong path... After installation conpot expects `kamstrup_meter.xsd` in 
```
/usr/lib/python3.6/site-packages/conpot/protocols/kamstrup_meter/kamstrup_meter.xsd
``` 
but the file is installed to 
```
/usr/lib/python3.6/site-packages/conpot/protocols/kamstrup/meter_protocol/kamstrup_meter.xsd
```

Here the traceback...
```
conpot_kamstrup_382    | WARNING:scapy.runtime:No route found for IPv6 destination :: (no default route?)
conpot_kamstrup_382    | 2018-08-16 15:44:03,377 Config file found!
conpot_kamstrup_382    | 2018-08-16 15:44:03,379 Starting Conpot using template: /usr/lib/python3.6/site-packages/conpot/templates/kamstrup_382
conpot_kamstrup_382    | 2018-08-16 15:44:03,379 Starting Conpot using configuration found in: /etc/conpot/conpot.cfg
conpot_kamstrup_382    | 2018-08-16 15:44:03,392 Serving tar:///usr/lib/python3.6/site-packages/conpot/data.tar as file system. File uploads will be kept at : /tmp
conpot_kamstrup_382    | 2018-08-16 15:44:03,393 Opening path /tmp for persistent storage of files.
conpot_kamstrup_382    | 2018-08-16 15:44:03,395 Initializing Virtual File System at /tmp/conpot/__conpot__7k4knjor. Source specified : tar:///usr/lib/python3.6/site-packages/conpot/data.tar
conpot_kamstrup_382    |  Please wait while the system copies all specified files
conpot_kamstrup_382    | 2018-08-16 15:44:03,458 Fetched 84.154.38.33 as external ip.
conpot_kamstrup_382    |
conpot_kamstrup_382    |                        _
conpot_kamstrup_382    |    ___ ___ ___ ___ ___| |_
conpot_kamstrup_382    |   |  _| . |   | . | . |  _|
conpot_kamstrup_382    |   |___|___|_|_|  _|___|_|
conpot_kamstrup_382    |               |_|
conpot_kamstrup_382    |
conpot_kamstrup_382    |   Version 0.6.0
conpot_kamstrup_382    |   MushMush Foundation
conpot_kamstrup_382    |
conpot_kamstrup_382    | Traceback (most recent call last):
conpot_kamstrup_382    |   File "/usr/bin/conpot", line 455, in <module>
conpot_kamstrup_382    |     main()
conpot_kamstrup_382    |   File "/usr/bin/conpot", line 363, in main
conpot_kamstrup_382    |     validate_template(protocol_template, xsd_file)
conpot_kamstrup_382    |   File "/usr/bin/conpot", line 132, in validate_template
conpot_kamstrup_382    |     xml_schema = etree.parse(xsd_file)
conpot_kamstrup_382    |   File "src/lxml/etree.pyx", line 3426, in lxml.etree.parse
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 1840, in lxml.etree._parseDocument
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 1866, in lxml.etree._parseDocumentFromURL
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 1770, in lxml.etree._parseDocFromFile
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 1163, in lxml.etree._BaseParser._parseDocFromFile
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult
conpot_kamstrup_382    |   File "src/lxml/parser.pxi", line 638, in lxml.etree._raiseParseError
conpot_kamstrup_382    | OSError: Error reading file '/usr/lib/python3.6/site-packages/conpot/protocols/kamstrup_meter/kamstrup_meter.xsd': failed to load external entity "/usr/lib/python3.6/site-packages/conpot/protocols/kamstrup_meter/kamstrup_meter.xsd"
conpot_kamstrup_382 exited with code 1
```

diff --git a/Dockerfile b/Dockerfile
index 537d4a7..9388191 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3
+FROM python:3.5
 
 ENV DEBIAN_FRONTEND noninteractive
 
@@ -22,11 +22,10 @@ RUN pip install --no-cache-dir coverage
 RUN pip install --no-cache-dir -r requirements.txt
 
 # Run test cases
-RUN tox
-RUN tox -e run -- conpot -f --template default
+RUN py.test -v
 
 # Install the Conpot application
-RUN python setup.py install
+RUN python3.5 setup.py install
 RUN rm -rf /opt/conpot /tmp/* /var/tmp/*
 
 # Create directories
@@ -36,4 +35,4 @@ VOLUME /var/log/conpot/
 
 EXPOSE 80 102 161/udp 502 21 69/udp
 
-CMD ["/usr/local/bin/conpot", "--template", "default", "--logfile", "/var/log/conpot/conpot.log"]
\ No newline at end of file
+CMD ["/usr/local/bin/conpot", "--template", "default", "--logfile", "/var/log/conpot/conpot.log"]
diff --git a/README.md b/README.md
index 584fae0..8c7cfe8 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,10 @@ The build of the documentations [source](https://github.com/mushorg/conpot/tree/
 
 ## Easy install using Docker
 
+![Docker Build Status](https://img.shields.io/docker/build/honeynet/conpot.svg)
+![Docket Image Size](https://img.shields.io/microbadger/image-size/honeynet/conpot.svg?style=flat-square)
+![Docker Pulls](https://img.shields.io/docker/pulls/honeynet/conpot.svg?style=flat-square)
+
 #### Via a pre-built image
 
 1. Install [Docker](https://docs.docker.com/engine/installation/)
diff --git a/bin/conpot b/bin/conpot
index 38eb844..37d8514 100755
--- a/bin/conpot
+++ b/bin/conpot
@@ -359,7 +359,13 @@ def main():
             protocol_name, server_class = protocol
             protocol_template = os.path.join(root_template_directory, protocol_name, '{0}.xml'.format(protocol_name))
             if os.path.isfile(protocol_template):
-                xsd_file = os.path.join(package_directory, 'protocols', protocol_name, '{0}.xsd'.format(protocol_name))
+                if 'kamstrup' in protocol_name:
+                    kamstrup_dir, kamstrup_protocol = os.path.split((protocol_name.replace('_', '/')) + '_protocol')
+                    xsd_file = os.path.join(package_directory, 'protocols', kamstrup_dir, kamstrup_protocol,
+                                            '{0}.xsd'.format(protocol_name))
+                else:
+                    xsd_file = os.path.join(package_directory, 'protocols', protocol_name,
+                                            '{0}.xsd'.format(protocol_name))
                 validate_template(protocol_template, xsd_file)
                 dom_protocol = etree.parse(protocol_template)
                 if dom_protocol.xpath('//{0}'.format(protocol_name)):
diff --git a/conpot/tests/test_ipmi_server.py b/conpot/tests/test_ipmi_server.py
index fbd2791..12ef119 100644
--- a/conpot/tests/test_ipmi_server.py
+++ b/conpot/tests/test_ipmi_server.py
@@ -114,16 +114,16 @@ class TestIPMI(unittest.TestCase):
 
     def test_channel_get_access(self):
         result, _ = run_cmd(cmd=['channel', 'getaccess', '1', '3'], port=str(self.ipmi_server.server.server_port))
-        self.assertEqual(result,
-                         b'Maximum User IDs     : 5\n'
-                         b'Enabled User IDs     : 3\n\n'
-                         b'User ID              : 3\n'
-                         b'User Name            : User1\n'
-                         b'Fixed Name           : Yes\n'
-                         b'Access Available     : call-in / callback\n'
-                         b'Link Authentication  : enabled\n'
-                         b'IPMI Messaging       : enabled\n'
-                         b'Privilege Level      : USER\n')
+        self.assertIn(b'Maximum User IDs     : 5\n'
+                      b'Enabled User IDs     : 3\n\n'
+                      b'User ID              : 3\n'
+                      b'User Name            : User1\n'
+                      b'Fixed Name           : Yes\n'
+                      b'Access Available     : call-in / callback\n'
+                      b'Link Authentication  : enabled\n'
+                      b'IPMI Messaging       : enabled\n'
+                      b'Privilege Level      : USER\n',
+                      result)
 
     def test_misc(self):
         # change the session pass
diff --git a/conpot/tests/test_vfs.py b/conpot/tests/test_vfs.py
index ea7d203..029e44e 100644
--- a/conpot/tests/test_vfs.py
+++ b/conpot/tests/test_vfs.py
@@ -210,7 +210,7 @@ class TestFileSystem(unittest.TestCase):
         self.assertEqual(self.test_vfs.getinfo('/data_move', namespaces=['access']).permissions, _perms)
         self.assertEqual(self.test_vfs.getinfo('/data_move', namespaces=['access']).user, _user)
         self.assertEqual(self.test_vfs.getinfo('/data_move', namespaces=['access']).group, _group)
-        self.assertEqual(self.test_vfs.listdir('/'), ['data', 'data_move'])
+        self.assertEqual(set(self.test_vfs.listdir('/')), {'data', 'data_move'})
 
     @freeze_time("2028-07-15 17:51:17")
     def test_copyfile(self):
diff --git a/requirements.txt b/requirements.txt
index d94b037..dde320c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
 gevent>=1.0
+cffi
 pysnmp
 pysmi
 lxml
['Dockerfile', 'README.md', 'bin/conpot', 'conpot/tests/test_ipmi_server.py', 'conpot/tests/test_vfs.py', 'requirements.txt']