refactor WebServer component