mostly updated http server