follow new WebModule style