added WebSocket support