added initial ring-websocket codes