websockets: initial commit