[cleanup] moved websocket into its own file