added websocket integration