skeleton WiFiServer and main loop