follow new WebModule style and improve code style