improve the webutil module