add http server, improve warehouse functions