basic web page and websockets