refactoring to only provide websocket integration