adding web server self functions