add websocket support and more onto TODO list