examples of module pattern