#28 added WebSocket support