diff --git a/README.md b/README.md
index 53440bb97e2cb894d633f696f13010c056d2c5a4..735f1f7db52d3428a5c8484b93015c8217738350 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
 # LeapControlNode
 
-ROS Node with basic functions for Leap Controller
\ No newline at end of file
+ROS Node with basic functions for Leap Controller
+
+This node depends on websocket.
+To install dependencies run pip3 install -r requirements.txt
diff --git a/leap_py3/README.md b/leap_py3/README.md
old mode 100644
new mode 100755
diff --git a/leap_py3/e_logging.py b/leap_py3/e_logging.py
old mode 100644
new mode 100755
diff --git a/leap_py3/e_rosbridge.py b/leap_py3/e_rosbridge.py
old mode 100644
new mode 100755
diff --git a/leap_py3/e_websocket.py b/leap_py3/e_websocket.py
new file mode 100755
index 0000000000000000000000000000000000000000..37744b81510920b3732f2e40a53c76e5cf2895c6
--- /dev/null
+++ b/leap_py3/e_websocket.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+
+import asyncio
+import websockets
+
+async def hello(websocket, path):
+    name = await websocket.recv()
+    print("< {}".format(name))
+
+    greeting = "Hello {}!".format(name)
+    await websocket.send(greeting)
+    print("> {}".format(greeting))
+
+start_server = websockets.serve(hello, 'localhost', 8765)
+
+asyncio.get_event_loop().run_until_complete(start_server)
+asyncio.get_event_loop().run_forever()
diff --git a/leap_py3/leap.py b/leap_py3/leap.py
old mode 100644
new mode 100755
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b389349b0d5a552a3e3a58f43f379043742c398a
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,7 @@
+# install websocket
+# to install dependencies run in terminal:
+# 	pip3 install -r requirements.txt
+
+websocket==0.2.1
+websocket-client==0.53.0
+