initial implementation of websocket client