update module pattern